用R读取海洋仪器数据

用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

我有一个仪器的数据集,它被分成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    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的回答看起来足够了。问题标题并没有反映这里要问的问题,问题应该包括每一步“我尝试编写的所有代码”的详细信息。我建议你把问题分成几个单独的问题,并把注意力集中在每一步上,虽然文森特的回答看起来足够了,但我为一个糟糕的问题道歉,但答案很棒!从一个文森特到另一个-谢谢我为一个拙劣的问题道歉,但回答得很好!从一个文森特到另一个-谢谢