我有一个使用xts
的非规则时间序列事件(帖子),我想计算在滚动的每周窗口(或两周、三天等)内发生的事件数量。数据看起来像这样:
postid
2010-08-04 22:28:07 867
2010-08-04 23:31:12 891
2010-08-04 23:58:05 901
2010-08-05 08:35:50 991
2010-08-05 13:28:02 1085
2010-08-05 14:14:47 1114
2010-08-05 14:21:46 1117
2010-08-05 15:46:24 1151
2010-08-05 16:25:29 1174
2010-08-05 23:19:29 1268
2010-08-06 12:15:42 1384
2010-08-06 15:22:06 1403
2010-08-07 10:25:49 1550
2010-08-07 18:58:16 1596
2010-08-07 21:15:44 1608
应该产生类似以下的结果
nposts
2010-08-05 00:00:00 10
2010-08-06 00:00:00 9
2010-08-07 00:00:00 5
针对一个两天的时间窗口,我查看了rollapply
、apply.rolling
等函数(从PerformanceAnalytics
库中获取),它们都假设数据是定期时间序列。我试过将所有时间转换为帖子发生的那一天,然后使用像ddply
这样的函数按每天进行分组,这让我接近目标了。但是,用户可能不会每天都发帖,因此时间序列仍然是不规则的。我可以用0来填补空缺,但这可能会大幅增加我的数据量,而且已经很庞大了。
我该怎么办?
rollapply
了。我猜我可以使用merge
... - flodeln
天的每个观测值,这是一个更加困难的问题需要解决。 - Joshua Ulrich