【发布时间】:2015-12-14 02:47:27
【问题描述】:
我有一个日期随机发生的数据集。例如:
10/21/15、11/21/15、11/22/15、11/28/15、11/30/15、12/12/15...等
我希望按时间段而不是在观察级别创建滚动平均值。例如,如果我想做过去 7 天的移动平均线。我不想查看最后 7 行,而是查看最后 7 天
举个小例子:
dates = c('2015-08-07', '2015-08-08','2015-08-09','2015-09-09','2015-10-10')
value = c(5,10,5,3,2)
df=data.frame(dates, value)
df$desired = c(NA,5,7.5, NA,NA)
我显然希望为更大的数据集执行此操作,但我希望您明白这一点。例如,如果我使用 7 天,这就是我所期望的结果。
请注意,我没有将当前观察值包含到滚动平均值中,而只包含前一个值。我想要按时间段的滚动平均值,而不是观察行号。
我尝试查看 rollmean 和 dplyr,但无法弄清楚。不过,我真的不在乎它是如何发生的。
谢谢!
【问题讨论】:
-
将流程拆分为多个部分:1. 聚合成周期,2. 加入所有周期的系列以使用 NA 填补数据中的潜在空白,3. 应用 rollmean
标签: r time time-series summary moving-average