動物園オブジェクトの1つの列のみでロールミーン関数を使用する方法は?

StackOverflow https://stackoverflow.com/questions/19826737

  •  05-07-2022
  •  | 
  •  

質問

私はそれを使おうとしています 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)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top