as.numericを使用してベクトルに変換します
rollmean(as.numeric(z$bar), 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
?
解決
as.numericを使用してベクトルに変換します
rollmean(as.numeric(z$bar), 2)