我将通过仅选择文件中所有不同日期的09:00:00.000 to 17:00:00.000
范围内的数据来对xts对象(数据)进行子集化。
Timestamp Col1 Col2 Col3 Col4
2017-05-02 08:50:47.457 12345 12345 12345 12345
2017-05-02 09:50:49.845 12345 12345 12345 12345
2017-05-02 16:50:49.845 12345 12345 12345 12345
2017-05-02 22:50:50.085 12345 12345 12345 12345
2017-05-03 08:50:47.457 12345 12345 12345 12345
2017-05-04 09:50:49.845 12345 12345 12345 12345
2017-05-04 16:50:49.845 12345 12345 12345 12345
2017-05-04 22:50:50.085 12345 12345 12345 12345
我该怎么做?
答案 0 :(得分:1)
由于您要求使用xts解决方案,因此非常简单。只需使用括号进行子集化。
t<-read.table("test.csv", sep=";", header = T)
library(xts)
t2<-xts(t[,2:5], order.by = as.POSIXct(t$Timestamp, tz="UTC","%Y-%m-%d %H:%M:%S"))
t2["T09:00/T17:00"]
使用nice内置索引函数的替代版本(这可用于更复杂的操作):
t2[.indexhour(t2) %in% seq(9,17)]