[英]r two xts operations
Two hourly time series xts1 and xts2, xts1 has some missing times. 两个小时的时间序列xts1和xts2,xts1缺少一些时间。
xts1
time speed power
2010-01-01 00:00:00 0.1 1.1
2010-01-01 01:00:00 0.2 1.2
2010-01-01 05:00:00 0.2 1.2
.....
xts2
time speed power
2010-01-01 00:00:00 0.1 1.1
2010-01-01 01:00:00 0.2 1.2
2010-01-01 02:00:00 0.2 1.2
.....
When combine them into one file(get the average of speed, and sum the power based on the same timestamp), get non--conformable arrays error. 当将它们组合到一个文件中时(获取速度的平均值,并基于相同的时间戳求和),将得到不符合标准的数组错误。 The command used was:
使用的命令是:
hourly.data.table = data.table (time = time(xts1), meanspeed= (coredata(xts1$speed)+coredata(xts2$speed))/2, power= coredata(xts1$power)+coredata(xts2$power))
How to do this combination by time? 如何按时间进行这种组合? Thanks in advance.
提前致谢。
Try 尝试
library(xts)
xts1 <- xts(df1[-1], order.by = as.POSIXct(df1$time))
xts2 <- xts(df2[-1], order.by = as.POSIXct(df2$time))
res <- xts1+xts2
res[,1] <- res[,1]/2
res
# speed power
#2010-01-01 00:00:00 0.1 2.2
#2010-01-01 01:00:00 0.2 2.4
df1 <- structure(list(time = c("2010-01-01 00:00:00",
"2010-01-01 01:00:00",
"2010-01-01 05:00:00"), speed = c(0.1, 0.2, 0.2), power = c(1.1,
1.2, 1.2)), .Names = c("time", "speed", "power"),
class = "data.frame", row.names = c(NA, -3L))
df2 <- structure(list(time = c("2010-01-01 00:00:00",
"2010-01-01 01:00:00",
"2010-01-01 02:00:00"), speed = c(0.1, 0.2, 0.2), power = c(1.1,
1.2, 1.2)), .Names = c("time", "speed", "power"),
class = "data.frame", row.names = c(NA, -3L))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.