[R] avoiding loops?

Christian Schulz ozric at web.de
Sun Sep 26 11:14:45 CEST 2004


is it possible doing this "moving average" 
without a loop, because it is not really
fast for dim(x) 300.000 50. 
I make some attempts with apply and sapply,but didn't get success  until now.

many thanks , christian

ma <- function(x, FUN=mean, lag=5) 
         n <-  ncol(x) - lag 
         frame <-  matrix(0,nrow=nrow(x),ncol=n)
         for(k in 1:nrow(frame)){
         for (i in 1:ncol(frame)) { 
         frame[k,i] <- FUN(x[k,i]:x[k,i + lag])
         } }
         return(as.data.frame(frame) )

More information about the R-help mailing list