如何在动物园对象的一列上使用rollmean函数?

时间:2013-11-07 02:12:12

标签: r zoo

我正在尝试在包含非数字列的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合并?

1 个答案:

答案 0 :(得分:2)

使用as.numeric将其转换为矢量

rollmean(as.numeric(z$bar), 2)