On Tue, Mar 22, 2011 at 3:05 PM, Tonja Krueger <tonja.krueger@web.de> wrote:

>
> 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
> /.../



> 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?
>

see e.g., rollmean in package zoo

>
> Thank you,
> Tonja Krueger
>
>
> ___________________________________________________________
> Handy Internet-Flat ż gratis ż mit WEB.DE FreePhone
>
> ______________________________________________
> 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.
>

	[[alternative HTML version deleted]]

