如何计算R中的7天移动平均线?

问题描述 投票:-1回答:1

我正在使用rollmean程序包的zoo函数来计算简单的7天移动平均线。该函数有一个参数align,如果我输入“ right”,“ center”或“ left”,它将更改值。它们之间有什么区别?

示例代码:

test <- sample(1:50)
data <- rollmean(test, 7, fill = list(NA, NULL, NA), align = "right")

test <- cbind(test, data)
r zoo
1个回答
0
投票

我认为将所有3个的结果彼此相邻是很有启发性的:

library(zoo)
sapply(c("right","center","left"),function(x)zoo::rollmean(test,7,align = x, na.pad = TRUE))
         right   center     left
 [1,]       NA       NA 19.28571
 [2,]       NA       NA 21.42857
 [3,]       NA       NA 15.28571
 [4,]       NA 19.28571 15.00000
 [5,]       NA 21.42857 19.42857
 [6,]       NA 15.28571 25.28571
 [7,] 19.28571 15.00000 22.71429
 [8,] 21.42857 19.42857 24.42857
 [9,] 15.28571 25.28571 22.00000
[10,] 15.00000 22.71429 23.42857
[11,] 19.42857 24.42857 27.28571
[12,] 25.28571 22.00000 23.28571
[13,] 22.71429 23.42857 20.57143
[14,] 24.42857 27.28571 21.14286
[15,] 22.00000 23.28571 20.28571
[16,] 23.42857 20.57143 23.14286
[17,] 27.28571 21.14286 24.85714
[18,] 23.28571 20.28571 21.71429
[19,] 20.57143 23.14286 24.42857
[20,] 21.14286 24.85714 25.71429
[21,] 20.28571 21.71429 30.85714
[22,] 23.14286 24.42857 30.28571
[23,] 24.85714 25.71429 32.42857
[24,] 21.71429 30.85714 34.85714
[25,] 24.42857 30.28571 38.57143
[26,] 25.71429 32.42857 35.28571
[27,] 30.85714 34.85714 31.00000
[28,] 30.28571 38.57143 29.00000
[29,] 32.42857 35.28571 25.85714
[30,] 34.85714 31.00000 25.00000
[31,] 38.57143 29.00000 24.85714
[32,] 35.28571 25.85714 23.42857
[33,] 31.00000 25.00000 21.71429
[34,] 29.00000 24.85714 27.28571
[35,] 25.85714 23.42857 29.42857
[36,] 25.00000 21.71429 33.71429
[37,] 24.85714 27.28571 31.85714
[38,] 23.42857 29.42857 31.71429
[39,] 21.71429 33.71429 31.42857
[40,] 27.28571 31.85714 33.57143
[41,] 29.42857 31.71429 33.85714
[42,] 33.71429 31.42857 30.00000
[43,] 31.85714 33.57143 26.85714
[44,] 31.71429 33.85714 25.42857
[45,] 31.42857 30.00000       NA
[46,] 33.57143 26.85714       NA
[47,] 33.85714 25.42857       NA
[48,] 30.00000       NA       NA
[49,] 26.85714       NA       NA
[50,] 25.42857       NA       NA
© www.soinside.com 2019 - 2024. All rights reserved.