【发布时间】:2018-08-18 12:36:46
【问题描述】:
我有一组数据每 5 分钟采集一次,包含以下结构:
>df1
Date X1
01/01/2017 0:00 1
01/01/2017 0:30 32
01/01/2017 1:00 65
01/01/2017 1:30 14
01/01/2017 2:00 25
01/01/2017 2:30 14
01/01/2017 3:00 85
01/01/2017 3:30 74
01/01/2017 4:00 74
01/01/2017 4:30 52
01/01/2017 5:00 25
01/01/2017 5:30 74
01/01/2017 6:00 45
01/01/2017 6:30 52
01/01/2017 7:00 21
01/01/2017 7:30 41
01/01/2017 8:00 74
01/01/2017 8:30 11
01/01/2017 9:00 2
01/01/2017 9:30 52
另一个向量只包含日期,但时间频率不同:
>V1
Date2
1/1/2017 1:30:00
1/1/2017 3:30:00
1/1/2017 5:30:00
1/1/2017 9:30:00
我想计算 X1 的移动平均值,但最后我真正需要的唯一值是与 V1 中的日期相关的值(但保留移动平均值生成的平滑)
您是否建议计算X1 的移动平均线,然后将该值与V1 中的相应日期相关联并重新应用移动平均线?或者你知道 R 中的一个函数可以帮助我实现这个吗?
谢谢你,非常感谢你的帮助!
索菲亚
【问题讨论】:
-
您希望申请多少天/小时/分钟的移动平均线?
-
嗯,实际上我有一个非常大的数据集,这只是其中的一小部分,所以我们在这个例子中使用了多少元素并不重要。我在下面看到了您的答案,您认为计算 df1 的移动平均值并将每个值与 V1 上的相应日期和时间简单关联是一个好方法吗?它会保持移动平均线的平滑吗?
-
这取决于您的需要。我的回答考虑了
4行的移动平均值(意味着 2 小时)。您可以尝试不同的periods(rollapply的宽度),如 4 小时、8 小时等,以获得所需的结果。查看rollapply的帮助。
标签: r dataframe moving-average