我正在尝试在包含非数字列的zoo对象上使用rollmean
函数。我的目标是向现有对象添加新列。
为什么以下测试代码不起作用?
library(zoo)
d <- data.frame(time=c(1, 2, 3), foo=c('a', 'b', 'c'), bar=c(32, 4, 1))
z <- zoo(d, order.by=d$time)
rollmean(z$bar, 2)
我得到“二元运算符的非数字参数”错误。该功能不应仅使用条形柱吗?我是否必须为bar列创建单独的zoo对象,对其使用滚动函数,然后将结果与z
合并?
答案 0 :(得分:2)
使用as.numeric将其转换为矢量
rollmean(as.numeric(z$bar), 2)