Hello everyone, I have a dataframe with 1 column and I'd like to replace that column with a moving average. Example:
library('zoo')
mydat <- seq_len(10)
mydat
[1] 1 2 3 4 5 6 7 8 9 10
df <- data.frame("V1" = mydat)
df
V1 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10
df[df$V1 <- rollapply(df$V1, 3, mean)]
Error in `$<-.data.frame`(`*tmp*`, "V1", value = c(2, 3, 4, 5, 6, 7, 8, : replacement has 8 rows, data has 10
I could use a temporary variable to store the results of rollapply() and then reconstruct the data frame, but I was wondering if there is a one-liner that can achieve the same thing. Best regards, Stathis P.S. If you don't mind, cc me at your reply because I'm not subscribed to the list (but I will check the archive anyway).