14

Zoo パッケージには、移動平均を作成できる rollmean という関数があります。はrollmean(x,3)、下の表の前、現在、および次の値 (つまり、4、6、および 2) を取ります。これは 2 番目の列に示されています。

x   rollmean    ma3
4       
6   4.0 
2   4.3 
5   3.0         4.0
2   6.3         4.3
12  6.0         3.0
4   6.0         6.3
2               6.0

同じ仕事をしたいのですが、4 行目の前の 3 つの値を平均化します。これは 3 番目の列に表示されます。これを達成するのに役立つ関数の名前を誰か教えてもらえますか?

4

3 に答える 3

19

を使用できますrollmeanが、設定しalign='right'ます。rollmeanrまたは、デフォルトのを使用することもできalign='right'ます。

ma3 <- rollmeanr(x[,1],3,fill=NA)

...しかし、結果を遅らせる必要があります。別の解決策は、引数rollapplyのリストを使用することです。width

ma3 <- rollapplyr(x[,1],list(-(3:1)),mean,fill=NA)
于 2013-04-24T13:33:05.183 に答える