width参数作为rollapply中的变量

时间:2017-10-13 13:52:09

标签: r zoo rollapply

我有一个这样的数据框:

df <- data.frame(width = c(1,2,2,4), values = c(10,11,13,20))

我想使用rollapply来复合'values'列,但我想为每一行使用一个可变宽度,从'width'列中的相应行获取宽度。

对于我的生活,我无法弄清楚如何将width参数作为'width'列中的变量传递。

我有一个使用dplyr的mutate的解决方案,但它很笨重而且很慢。下面是我当前的代码,用静态'3'代替我想要的值:

rollapply(df[ , values_column], width = 3, function(x) rolling_compounder(x),
                                align = "right", fill = NA, partial = FALSE, by.column = FALSE)

编辑:

使用小数值: 0.1, 0.11, 0.13, 0.2

和上面相同的宽度,我希望复合的结果是:

0.1, 0.221, 0.254, 0.656

0 个答案:

没有答案