Hi Guys, Need your wisdom on this. Say I have a time series (in zoo format) like this> x <- zoo(11:21) > x1 2 3 4 5 6 7 8 9 10 11 11 12 13 14 15 16 17 18 19 20 21 I want to do a "moving window sampling" of it. The result can either be a matrix or a dataframe like this my.super.moving.window(x, length=3, by=1) 11 12 13 12 13 14 13 14 15 14 15 16 .... 18 19 20 19 20 21 This shouldn't be new. Many many people must have done this before. Any idea what's the best(efficient and elegant) way to do this? Cheers, Bo _________________________________________________________________ Climb to the top of the charts! Play the word scramble challenge with star power. [[alternative HTML version deleted]]
Gabor Grothendieck
2008-Mar-02 14:40 UTC
[R] Idioms for a timeseries operation - moving window
See ?embed and from zoo see: ?rollapply ?rollmean ?rollmax There is a function coded in C in the caTools package for speed. On Sun, Mar 2, 2008 at 9:24 AM, Bo Zhou <bozhou1981 at hotmail.com> wrote:> > Hi Guys, > > Need your wisdom on this. > > Say I have a time series (in zoo format) like this > > > > x <- zoo(11:21) > > x > 1 2 3 4 5 6 7 8 9 10 11 > 11 12 13 14 15 16 17 18 19 20 21 > > > I want to do a "moving window sampling" of it. The result can either be a matrix or a dataframe like this > > my.super.moving.window(x, length=3, by=1) > > 11 12 13 > 12 13 14 > 13 14 15 > 14 15 16 > .... > 18 19 20 > 19 20 21 > > This shouldn't be new. Many many people must have done this before. Any idea what's the best(efficient and elegant) way to do this? > > Cheers, > > Bo > > > > > _________________________________________________________________ > Climb to the top of the charts! Play the word scramble challenge with star power. > > [[alternative HTML version deleted]] > > > ______________________________________________ > 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. > >