2

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)

「二項演算子への数値以外の引数」エラーが発生します。関数はバー列のみを使用するべきではありませんか? バー列用に別の Zoo オブジェクトを作成し、その上でローリング関数を使用して、結果を とマージする必要がありzますか?

4

1 に答える 1

2

as.numeric を使用してベクトルに変換します

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