Hello,

Many packages have a movind average function. For instance package forecast. Or

library(sos)
findFn("moving average")

In your example, what you compute is not exactly a moving average, but in can be computed with something like the following.

s <- (seq_along(dat) - 1) %/% 3
sapply(split(dat, s), mean)


Hope this helps,

Rui Barradas


Em 17-02-2014 18:45, C W escreveu:
Hi list,
How do I calculate a moving average without using filter().  filter() does
not seem to give weighted averages.

I am looking into apply(), tapply,... But nothing "moves".

For example,

dat<-c(1:20)
mean(dat[1:3])
mean(dat[4:6])
mean(dat[7:9])
mean(dat[10:12])

etc...

I understand the point of apply is to avoid loops, how should I incorporate
this idea into using an apply()?

Thanks,
Mike

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to