滚动装置和应用装置在一系列数据的开头

run*_*rds 6 r time-series dataframe

我想对数据集中前4个值进行滚动均值.但是,一开始,由于没有4个值,我想做1/2/3观测的滚动平均值.我该怎么做呢?

 library(zoo)
 df= data.frame(a=c(1,2,3,4,5))
 df$answer = rollapply(df$a, 4,mean)
 #help
Run Code Online (Sandbox Code Playgroud)

例如,第1行的值为1,第2行的值为(1 + 2)/2=1.5,第3行的值为6/3 = 2.

我想做4个周期的滚动方式,但是在月数较少的时期,我想做允许的最大周期的平均值.

G. *_*eck 7

使用右对齐partial=TRUE,即rollapplyr(..., partial=TRUE)rollapply(..., align = "right", partial=TRUE).我们在这里使用rollapplyr:

rollapplyr(df$a, 4, mean, partial = TRUE)
Run Code Online (Sandbox Code Playgroud)