如何获取每天两个时间范围的数据?
数据:
sample.time = timeDate('2014-01-01 00:00:00')+1*60*(1:3000)
data = 1:3000
my_xts = xts(data,order.by=sample.time)
我们可以通过以下方式严格获取1:00 AM
和01:02 AM
之间的数据:
my_xts["T01:00/T01:02"]
结果:
2014-01-01 01:00:00 60
2014-01-01 01:01:00 61
2014-01-01 01:02:00 62
2014-01-02 01:00:00 1500
2014-01-02 01:01:00 1501
2014-01-02 01:02:00 1502
2014-01-03 01:00:00 2940
2014-01-03 01:01:00 2941
2014-01-03 01:02:00 2942
但是每天01:00/01:02
和02:00/02:00
的范围之间的数据呢?最终应该是:
2014-01-01 01:00:00 60
2014-01-01 01:01:00 61
2014-01-01 01:02:00 62
2014-01-01 02:00:00 120
2014-01-02 01:00:00 1500
2014-01-02 01:01:00 1501
2014-01-02 01:02:00 1502
2014-01-02 02:00:00 1560
2014-01-03 01:00:00 2940
2014-01-03 01:01:00 2941
2014-01-03 01:02:00 2942
2014-01-03 02:00:00 3000
答案 0 :(得分:1)
不确定这是否是最快或最方便的方法,但它有效:
c(my_xts["T01:00/T01:02"], my_xts["T02:00/T02:00:01"])
[,1]
2014-01-01 01:00:00 60
2014-01-01 01:01:00 61
2014-01-01 01:02:00 62
2014-01-01 02:00:00 120
2014-01-02 01:00:00 1500
2014-01-02 01:01:00 1501
2014-01-02 01:02:00 1502
2014-01-02 02:00:00 1560
2014-01-03 01:00:00 2940
2014-01-03 01:01:00 2941
2014-01-03 01:02:00 2942
2014-01-03 02:00:00 3000