Hello,

I need to calculate a moving average and an exponentially weighted moving 
average over a fairly large data set (500K rows).

Doing this in a for loop works nicely, but is slow.

ewma <- data$col[1]
N <- dim(data)[1]
for(i in 2:N){
        data$ewma <- alpha * data$ewma[i-1] + (1-alpha) * data$value[i]
}


Since the moving average "accumulates" as we move through the data, I'm not 
sure on the best/fastest way to do this.  

Does anyone have any suggestions on how to avoid a loop doing this?




--
Noah Silverman
UCLA Department of Statistics
8117 Math Sciences Building #8208
Los Angeles, CA 90095


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

Reply via email to