R:错误应用于类的对象" c('整数','数字')"

时间:2017-07-03 15:43:01

标签: r

我正在使用以下代码来增加前一次观察的下一次观察* .5:

abc <- data.frame(1:6)
abc$b <- 0
colnames(abc) <- c ("imps","Effect")  

abc$Effect <- filter(abc$imps, filter = 0.5, method = "recursive")

我一直收到错误:

Error in UseMethod("filter_") : 
  no applicable method for 'filter_' applied to an object of class "c('integer', 'numeric')"

所需的输出:

imps    Effect
1   1
2   2.5
3   4.25
4   6.125
5   8.0625
6   10.03125

有什么建议吗?注意:昨天我从3.2.2开始安装3.2.5之前就运行得很好

1 个答案:

答案 0 :(得分:2)

您也可以使用Reduce做您想做的事情:

abc$Effect = Reduce(function(i,j) j+i*0.5,abc$imps,accumulate=T)
  imps   Effect
1    1  1.00000
2    2  2.50000
3    3  4.25000
4    4  6.12500
5    5  8.06250
6    6 10.03125

您的问题可能来自dplyr库隐藏filter函数这一事实,在这种情况下,您应该精确stats::filter(..)