R:对两个变量进行rollapply

时间:2017-08-29 21:37:06

标签: r xts

我正在尝试在数据框中的两列上进行rollapply

Error in FUN(data[posns], ...) : unused argument (data[posns])

但是会出错:

grep -w '[dD][aeiouy]..[s]' /usr/share/dict/words

感谢你帮我指出我做错了什么。

1 个答案:

答案 0 :(得分:4)

默认情况下,rollapply会分别调用数据的每一列上的函数。如果希望函数可以访问多个列,则需要设置by.column = FALSE

dcalc1 <- rollapply(warming, 18, fdlm1, by.column = FALSE)

这个简单的例子有效:

data(sample_matrix)
x <- as.xts(sample_matrix)
r <- rollapply(x, 40, function(d) coef(lm(Close ~ Open, data=d)), by.column=FALSE)

如果您仍有问题,那么我将解决我在您的功能中遇到的两个问题:

  1. 您应该通过参数而不是将对象传递给您的函数 依靠范围界定找到它们,
  2. 函数范围中未定义x中的{li> tail(x, 1) ...因此很难说R在哪里找到x的值。