med*_*oll 8 average r time-series moving-average
在R中创建移动平均线或滚动总和的最有效方法是什么?你如何与"分组"一起进行滚动功能?
虽然动物园很棒,但有时会有更简单的方法.如果数据表现良好且间隔均匀,则embed()函数可以有效地创建时间序列的多个滞后版本.如果您查看VARS包中的矢量自动回归,您将看到包作者选择此路由.
例如,要计算x的3个周期滚动平均值,其中x =(1 - > 20)^ 2:
> x <- (1:20)^2
> embed (x, 3)
[,1] [,2] [,3]
[1,] 9 4 1
[2,] 16 9 4
[3,] 25 16 9
[4,] 36 25 16
[5,] 49 36 25
[6,] 64 49 36
[7,] 81 64 49
[8,] 100 81 64
[9,] 121 100 81
[10,] 144 121 100
[11,] 169 144 121
[12,] 196 169 144
[13,] 225 196 169
[14,] 256 225 196
[15,] 289 256 225
[16,] 324 289 256
[17,] 361 324 289
[18,] 400 361 324
> apply (embed (x, 3), 1, mean)
[1] 4.666667 9.666667 16.666667 25.666667 36.666667 49.666667
[7] 64.666667 81.666667 100.666667 121.666667 144.666667 169.666667
[13] 196.666667 225.666667 256.666667 289.666667 324.666667 361.666667
Run Code Online (Sandbox Code Playgroud)