Re: [R] Accelerating the calculation of the moving average

From: William Dunlap <wdunlap_at_tibco.com>
Date: Tue, 22 Mar 2011 09:25:47 -0700

filter(), in the stats package, can do moving averages (with any weights).

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com

> -----Original Message-----
> From: r-help-bounces_at_r-project.org
> [mailto:r-help-bounces_at_r-project.org] On Behalf Of Tonja Krueger
> Sent: Tuesday, March 22, 2011 8:06 AM
> To: r-help_at_r-project.org
> Subject: [R] Accelerating the calculation of the moving average
>
>
> Dear List,
> I have a data frame with approximately 500000 rows that looks
> like this:
>
> Date time value
> ...
> 19.07.1956 12:00:00 4.84
> 19.07.1956 13:00:00 4.85
> 19.07.1956 14:00:00 4.89
> 19.07.1956 15:00:00 4.94
> 19.07.1956 16:00:00 4.99
> 19.07.1956 17:00:00 5.01
> 19.07.1956 18:00:00 5.04
> 19.07.1956 19:00:00 5.04
> 19.07.1956 20:00:00 5.04
> 19.07.1956 21:00:00 5.02
> 19.07.1956 22:00:00 5.01
> 19.07.1956 23:00:00 5.00
> 20.07.1956 00:00:00 4.99
> 20.07.1956 01:00:00 4.99
> 20.07.1956 02:00:00 5.00
> 20.07.1956 03:00:00 5.03
> 20.07.1956 04:00:00 5.07
> 20.07.1956 05:00:00 5.10
> 20.07.1956 06:00:00 5.14
> 20.07.1956 07:00:00 5.14
> 20.07.1956 08:00:00 5.11
> 20.07.1956 09:00:00 5.08
> 20.07.1956 10:00:00 5.03
> 20.07.1956 11:00:00 4.98
> 20.07.1956 12:00:00 4.94
> 20.07.1956 13:00:00 4.93
> ...
>
> I want to calculate
> the moving average of the right column.
> I tried:
>
> dat$index<-1:length(dat$Zeit)
> qs<- 43800
> erg<-c()
> for (y in min(dat$index):max(dat$index)){
> m<- mean(dat[(dat$index>=y)&(dat$index<=y+qs+1),3])
> erg<-c(erg,m)
> }
>
> It does works, but it takes ages. Is there a faster way to
> compute the moving average?
>
> Thank you,
> Tonja Krueger
>
>
> ___________________________________________________________
> Handy Internet-Flat gratis mit WEB.DE FreePhone
>
> ______________________________________________
> R-help_at_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_at_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. Received on Tue 22 Mar 2011 - 16:29:50 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 22 Mar 2011 - 16:50:24 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive