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) *
Have you looked at SMA/EMA from the TTR package? That's a pretty quick
implementation.
runmean from caTools is even better for the SMA but I don't think there's an
easy way to turn that into an EWMA.
Hope this helps,
Michael Weylandt
On Fri, Sep 2, 2011 at 12:43 PM, Noah Silverman
On Fri, Sep 2, 2011 at 11:47 AM, R. Michael Weylandt
michael.weyla...@gmail.com wrote:
Have you looked at SMA/EMA from the TTR package? That's a pretty quick
implementation.
runmean from caTools is even better for the SMA but I don't think there's an
easy way to turn that into an EWMA.
SMA
Joshua,
Thanks for the tip.
I need to roll my own code on this. But perhaps I can borrow some code from
the package you mentioned.
Is the package just performing the loop, but in a faster language?
--
Noah Silverman
UCLA Department of Statistics
8117 Math Sciences Building #8208
Los
There is a recent blog post by Dirk Eddelbeutel on how to do something
similar using his Rcpp package and C++, with massive time improvements.
http://dirk.eddelbuettel.com/blog/
On 9/2/2011 12:43 PM, Noah Silverman wrote:
Hello,
I need to calculate a moving average and an exponentially
On Fri, Sep 2, 2011 at 12:06 PM, Noah Silverman noahsilver...@ucla.edu wrote:
Joshua,
Thanks for the tip.
I need to roll my own code on this. But perhaps I can borrow some code
from the package you mentioned.
Is the package just performing the loop, but in a faster language?
As I said,
Thanks Joshua,
I really like the example given in the blog post that Abhijit pointed me to.
Doing it in C++ using the Inline seems like an easy way to get a massive
improvement in speed without the hassle of writing a package.
I'm working on coding that now.
--
Noah Silverman
UCLA Department
The 'filter' function should be able
to do what you want efficiently.
On 02/09/2011 18:06, Noah Silverman wrote:
Joshua,
Thanks for the tip.
I need to roll my own code on this. But perhaps I can borrow some code from
the package you mentioned.
Is the package just performing the loop, but
8 matches
Mail list logo