【发布时间】:2015-07-28 16:41:30
【问题描述】:
目前,我有一个数据框 (A),其中 row.names 作为日期和两个列值(Xval 和 Yval)
Xval,Yval
"2015-01-01",5,6
"2015-01-02",7,4
"2015-01-05",-1,10
"2015-01-06",-4,3
我有两个主要问题:
(问题 1)我想计算一个新的数据框 (B),其中包含 row.names 作为日期和两列称为 Xmean, Ymean,其中值是过去 n 天的滞后滚动平均值。所以如果 n = 2,那么新的数据框看起来像
Xval,Yval
"2015-01-02",6,5
"2015-01-05",3,7
"2015-01-06",-2.5,6.5
(问题 2)然后我想使用数据框 (A) 和数据框 (b) 来计算新的数据框 (C),其中每个日期的值为 (A) / (B)。所以取每个数据点除以前n天的滚动平均值。
尝试: (1) 我知道 zoo 包有 rollapply,我可以用它来创建 (B)。但是,如果除了均值之外我还想计算其他东西(比如标准差或乘积?)。 (2) 是否有任何功能可以做到这一点,或者我是否必须遍历 (A) 中的每个日期,然后检查 (B) 中的相应值(平均值、标准差或乘积)以进行划分? (这将非常低效)。
感谢您的帮助!
【问题讨论】:
-
阅读动物园小插曲——这类问题在那里得到了很好的回答。是的,
rollapply是众多可能性之一。
标签: r dataframe zoo moving-average