用R读取海洋仪器数据
我有一个仪器的数据集,它被分成4个不同的文件。3个单独的velocity文件(X、Y、Z)和第四个文件,该文件具有时间戳,将其他三个文件合并在一起 3个velocity文件是基本文本文件,其文件扩展名如下用R读取海洋仪器数据,r,R,我有一个仪器的数据集,它被分成4个不同的文件。3个单独的velocity文件(X、Y、Z)和第四个文件,该文件具有时间戳,将其他三个文件合并在一起 3个velocity文件是基本文本文件,其文件扩展名如下 Data.V1 Data.V2 Data.V3 时间戳文件是 Data.sen 每个维度(X、Y和Z)的速度文件在25个箱中测量,因此每个.V文件的数据如下所示 V1 V2 V3 V4 V5 V6 V7 V8 V9
Data.V1
Data.V2
Data.V3
时间戳文件是
Data.sen
每个维度(X、Y和Z)的速度文件在25个箱中测量,因此每个.V文件的数据如下所示
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16
1 0.195 0.103 0.288 -0.034 0.340 0.337 -0.125 0.029 -0.099 0.269 -0.049 0.053 0.128 -0.069 -0.362 0.207
2 -0.113 -0.260 0.173 -0.135 0.279 0.057 0.163 -0.008 -0.025 0.206 0.014 -0.130 -0.180 -0.182 0.048 -0.144
3 -0.020 -0.138 0.033 -0.028 -0.095 0.200 -0.057 -0.205 -0.004 -0.078 -0.010 0.036 -0.084 0.384 0.186 0.109
4 0.225 0.159 0.026 -0.180 -0.015 0.420 -0.128 0.232 0.399 0.043 -0.027 -0.285 -0.431 -0.231 -0.272 -0.214
5 0.133 -0.179 0.211 0.221 -0.237 -0.164 0.665 -0.079 -0.294 0.137 0.087 0.121 0.075 0.068 -0.114 -0.216
6 -0.051 -0.098 0.060 0.282 0.185 -0.388 0.276 0.496 0.035 0.130 -0.094 0.179 -0.427 -0.109 0.238 -0.334
V17 V18 V19 V20 V21 V22 V23 V24 V25
1 0.011 0.360 0.096 0.355 -0.084 -0.134 0.253 0.092 0.070
2 -0.093 0.016 0.048 0.159 -0.072 0.093 -0.227 0.005 -0.422
3 0.341 0.187 -0.206 0.172 0.198 -0.118 -0.103 -0.169 0.072
4 0.151 -0.142 0.014 0.049 -0.292 0.040 -0.068 0.079 0.062
5 0.255 0.272 0.026 0.230 -0.265 -0.333 0.397 0.011 -0.011
6 -0.101 0.159 -0.184 0.182 -0.080 -0.072 -0.178 0.038 -0.075
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17
1 1 30 2012 14 1 1 0 100000 11.4 1532.0 309.8 1.8 15.9 0 24.07 0 15320
2 1 30 2012 14 2 1 0 110101 11.3 1532.2 28.2 32.2 -16.0 0 24.12 0 15322
3 1 30 2012 14 3 1 0 111001 11.3 1533.1 205.2 -25.0 -32.9 0 24.51 0 15331
4 1 30 2012 14 4 1 0 110000 11.3 1534.2 181.9 -0.8 -5.2 0 24.94 0 15342
5 1 30 2012 14 5 1 0 110000 11.3 1535.5 183.4 -1.1 -0.1 0 25.49 0 15355
6 1 30 2012 14 6 1 0 110000 11.3 1536.8 171.6 0.1 7.5 0 26.00 0 15368
时间戳文件如下所示
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16
1 0.195 0.103 0.288 -0.034 0.340 0.337 -0.125 0.029 -0.099 0.269 -0.049 0.053 0.128 -0.069 -0.362 0.207
2 -0.113 -0.260 0.173 -0.135 0.279 0.057 0.163 -0.008 -0.025 0.206 0.014 -0.130 -0.180 -0.182 0.048 -0.144
3 -0.020 -0.138 0.033 -0.028 -0.095 0.200 -0.057 -0.205 -0.004 -0.078 -0.010 0.036 -0.084 0.384 0.186 0.109
4 0.225 0.159 0.026 -0.180 -0.015 0.420 -0.128 0.232 0.399 0.043 -0.027 -0.285 -0.431 -0.231 -0.272 -0.214
5 0.133 -0.179 0.211 0.221 -0.237 -0.164 0.665 -0.079 -0.294 0.137 0.087 0.121 0.075 0.068 -0.114 -0.216
6 -0.051 -0.098 0.060 0.282 0.185 -0.388 0.276 0.496 0.035 0.130 -0.094 0.179 -0.427 -0.109 0.238 -0.334
V17 V18 V19 V20 V21 V22 V23 V24 V25
1 0.011 0.360 0.096 0.355 -0.084 -0.134 0.253 0.092 0.070
2 -0.093 0.016 0.048 0.159 -0.072 0.093 -0.227 0.005 -0.422
3 0.341 0.187 -0.206 0.172 0.198 -0.118 -0.103 -0.169 0.072
4 0.151 -0.142 0.014 0.049 -0.292 0.040 -0.068 0.079 0.062
5 0.255 0.272 0.026 0.230 -0.265 -0.333 0.397 0.011 -0.011
6 -0.101 0.159 -0.184 0.182 -0.080 -0.072 -0.178 0.038 -0.075
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17
1 1 30 2012 14 1 1 0 100000 11.4 1532.0 309.8 1.8 15.9 0 24.07 0 15320
2 1 30 2012 14 2 1 0 110101 11.3 1532.2 28.2 32.2 -16.0 0 24.12 0 15322
3 1 30 2012 14 3 1 0 111001 11.3 1533.1 205.2 -25.0 -32.9 0 24.51 0 15331
4 1 30 2012 14 4 1 0 110000 11.3 1534.2 181.9 -0.8 -5.2 0 24.94 0 15342
5 1 30 2012 14 5 1 0 110000 11.3 1535.5 183.4 -1.1 -0.1 0 25.49 0 15355
6 1 30 2012 14 6 1 0 110000 11.3 1536.8 171.6 0.1 7.5 0 26.00 0 15368
前6个数据列为月-日-年-小时-分钟-秒
我希望我能用这些数据做三件事
1- Read all four data files into one file lined up by the time stamp
2- Apply a simple equation to the three different velocity measurements to arrive at final (the equation would be along the lines of sqrt(v1^2+v2^2+v3^3) )
3- Pull an hourly average of all the data
我希望它会很简单,但我尝试编写的所有代码都没有用
非常感谢您在这三个步骤中提供的任何帮助。您可以将data.frames与
cbind
或merge
连接起来,
但可能更容易首先将其标准化(即转换)
使用melt
将它们转换为“高”格式)
# Sample data
n <- 10
k <- 25
d1 <- as.data.frame( matrix( rnorm(n*k), nc=k ) )
d2 <- as.data.frame( matrix( rnorm(n*k), nc=k ) )
d3 <- as.data.frame( matrix( rnorm(n*k), nc=k ) )
d4 <- seq(ISOdatetime(2012, 1, 1, 0, 0, 0, "UTC"), length=n, by="15 min")
f <- function(u) sapply(
c("%Y", "%m", "%d", "%H", "%M", "%S"),
function(x) as.numeric(format(u,x))
)
d4 <- t(sapply(d4, f))
d4 <- cbind( d4, matrix( rnorm(n*(k-6)), nr=n ) )
d4 <- as.data.frame(d4)
# Add column names
names(d1) <- names(d2) <- names(d3) <- paste("V", seq_len(ncol(d1)), sep="")
names(d4) <- paste("W", seq_len(ncol(d4)), sep="")
names(d4)[1:6] <- c("Year", "Month", "Day", "Hour", "Minute", "Second")
# Add an identifier column
d1$id <- d2$id <- d3$id <- d4$id <- seq_len(nrow(d1))
d1$var <- "X"
d2$var <- "Y"
d3$var <- "Z"
# Clean the timestamp
d4$time <- ISOdatetime( d4$Year, d4$Month, d4$Day, d4$Hour, d4$Minute, d4$Second, "UTC" )
# Normalize each data.frame
library(reshape2)
d1 <- melt(d1, id.vars=c("id","var"), variable.name="Position" )
d2 <- melt(d2, id.vars=c("id","var"), variable.name="Position" )
d3 <- melt(d3, id.vars=c("id","var"), variable.name="Position" )
# Concatenate them
d <- rbind(d1, d2, d3)
# Add the time data
d <- merge( d, d4, by="id" )
您可以使用
cbind
或merge
连接data.frames,
但可能更容易首先将其标准化(即转换)
使用melt
将它们转换为“高”格式)
# Sample data
n <- 10
k <- 25
d1 <- as.data.frame( matrix( rnorm(n*k), nc=k ) )
d2 <- as.data.frame( matrix( rnorm(n*k), nc=k ) )
d3 <- as.data.frame( matrix( rnorm(n*k), nc=k ) )
d4 <- seq(ISOdatetime(2012, 1, 1, 0, 0, 0, "UTC"), length=n, by="15 min")
f <- function(u) sapply(
c("%Y", "%m", "%d", "%H", "%M", "%S"),
function(x) as.numeric(format(u,x))
)
d4 <- t(sapply(d4, f))
d4 <- cbind( d4, matrix( rnorm(n*(k-6)), nr=n ) )
d4 <- as.data.frame(d4)
# Add column names
names(d1) <- names(d2) <- names(d3) <- paste("V", seq_len(ncol(d1)), sep="")
names(d4) <- paste("W", seq_len(ncol(d4)), sep="")
names(d4)[1:6] <- c("Year", "Month", "Day", "Hour", "Minute", "Second")
# Add an identifier column
d1$id <- d2$id <- d3$id <- d4$id <- seq_len(nrow(d1))
d1$var <- "X"
d2$var <- "Y"
d3$var <- "Z"
# Clean the timestamp
d4$time <- ISOdatetime( d4$Year, d4$Month, d4$Day, d4$Hour, d4$Minute, d4$Second, "UTC" )
# Normalize each data.frame
library(reshape2)
d1 <- melt(d1, id.vars=c("id","var"), variable.name="Position" )
d2 <- melt(d2, id.vars=c("id","var"), variable.name="Position" )
d3 <- melt(d3, id.vars=c("id","var"), variable.name="Position" )
# Concatenate them
d <- rbind(d1, d2, d3)
# Add the time data
d <- merge( d, d4, by="id" )
问题标题并不反映此处所问的内容,问题应包括每个步骤的“我尝试编写的所有代码”的详细信息。我建议将问题分成几个单独的问题,并将注意力集中在每一步上,尽管Vincent的回答看起来足够了。问题标题并没有反映这里要问的问题,问题应该包括每一步“我尝试编写的所有代码”的详细信息。我建议你把问题分成几个单独的问题,并把注意力集中在每一步上,虽然文森特的回答看起来足够了,但我为一个糟糕的问题道歉,但答案很棒!从一个文森特到另一个-谢谢我为一个拙劣的问题道歉,但回答得很好!从一个文森特到另一个-谢谢