2

我正在尝试在rollmean包含非数字列的 zoo 对象上使用该函数。我的目标是向现有对象添加一个新列。

为什么下面的测试代码不起作用?

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 列吗?我是否必须为栏柱创建一个单独的动物园对象,在其上使用滚动功能,然后将结果与z

4

1 回答 1

2

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

rollmean(as.numeric(z$bar), 2)
于 2013-11-07T02:29:53.610 回答