0

簡単な質問があります。シリーズの各 12 要素の平均を取りたいです。私は次のコードを持っています:

PPrateav = NULL
for (i in 80) {
    PPrateav[i] = sum(PPrate[1+(i-1)*12:(i*12)])/12
}

どこに問題があるのか​​わかりません。ありがとう。

4

1 に答える 1

2

これはトリックを行います

library(zoo)
PPrateav <- rollapply(PPrate, width=12, mean, by=12)

および引数の詳細?rollapplyについては、 を参照してください。widthby

本当にループを使用したい場合はfor、元のループをこの新しいバージョンに変更してみてください。

PPrateav <- NULL
for (i in 1:floor(length(PPrate)/12)) {
  PPrateav[i] = mean(PPrate[(1+(i-1)*12):(i*12)])
}
于 2013-04-22T12:04:30.763 に答える