【发布时间】:2016-01-21 00:32:04
【问题描述】:
我有一个如下所示的时间序列数据框:
Time Source Value
1 2016-01-20 15:10:04 C04 OPEN
2 2016-01-20 15:09:57 M04 true
3 2016-01-20 15:09:53 M02 true
4 2016-01-20 15:09:53 M03 true
5 2016-01-20 14:44:54 M04 true
现在我想从 00:00:00 开始以 5 分钟为间隔对它们进行分组,这样我得到的间隔为 0-5-10-15-20... 等等。间隔稍后将用作组标识符:
Time Source Value Group
1 2016-01-20 15:10:04 C04 OPEN 10
2 2016-01-20 15:09:57 M04 true 5
3 2016-01-20 15:09:53 M02 true 5
4 2016-01-20 15:09:53 M03 true 5
5 2016-01-20 14:44:54 M04 true 40
我已经尝试使用breaks="5 min" 来cut() 日期,但不是得到圆形的开始和结束值,结果如下所示:
> table(cut.POSIXt(df.formatted$Time, breaks="5 min"))[1:5]
2015-12-31 12:49:00 2015-12-31 12:54:00 2015-12-31 12:59:00 2015-12-31 13:04:00 2015-12-31 13:09:00
4 0 0 1 15
有没有办法告诉 cut() 使用圆形时间间隔?我也尝试使用 xts 包进行分组,但 OHLC 对我的帮助比对我的帮助更大。我还尝试使用 heR.Misc 包(请参阅time.factor documentation,但由于文档不足,我无法使其正常运行。
有人知道如何解决这个问题吗?
【问题讨论】:
-
我想到了一种方法,但 xts-objects 测试这个概念的数据输入阶段是 PITA。为什么不使用可传输的格式,例如
dput(head(object_name))
标签: r time-series grouping intervals cut