【发布时间】:2017-02-10 08:32:38
【问题描述】:
我正在尝试为过去 6 个月的数据集构建滚动平均值。 这些数据是每天的数据,有超过 100.000 行,我在下面提供了一个示例。
# A tibble: 100 × 5
ID MONTH DATE VALUE R_MEAN
<fctr> <dbl> <date> <dbl> <dbl>
1 634 20160200 2016-02-03 2 0.000000
2 1700 20150300 2015-03-02 3 0.000000
3 1700 20150400 2015-04-01 7 3.000000
4 1700 20150400 2015-04-09 1 5.000000
5 1700 20150700 2015-07-02 26 3.666667
6 1700 20150800 2015-08-03 1 9.250000
7 1700 20150900 2015-09-01 2 7.600000
8 1700 20151000 2015-10-01 5 7.400000
9 1700 20151000 2015-10-07 10 7.833333
10 1700 20151100 2015-11-02 8 8.800000
# ... with 90 more rows
我的目标是创建过去 6 个月的移动平均值,例如,对于 ID:X 和 DATE 值为 20160101,我想获取所有具有相同 ID 和 DATE 值的行的平均 VALUE介于 20150601 和 20160101 之间。当没有以前的值可用时,我假设平均值为零。
我曾想过使用某种扩展网格的方法,但由于我有很多 ID(接近 30.000),因此在 2 年内每天扩展网格会产生巨大的网格。
【问题讨论】:
标签: r moving-average