Hi I have a df and How to calculate rolling mean for previous N rows ,In my case it is 3
df <- data.frame(X=c(24,NA,NA,45,NA,20,24,10,40,20,20), Y=c(10,NA,14,14,14,10,NA,10,14,14,14)
)
I tried to get o/p as below
library(data.table)
library(zoo)
df[, Rolling.Average := rollmeanr(X, 3, fill = NA), by = Y]
o/p:
X Y Rolling.Average
24 10 NA
NA NA NA
NA 14 NA
45 14 NA
NA 14 45
20 10 NA
24 NA NA
10 10 20
40 14 NA
20 14 40
20 14 30
Error: k <= n is not TRUE Any modifications in above code,please suggest Thanks