[R] Idioms for a timeseries operation - moving window
Gabor Grothendieck
ggrothendieck at gmail.com
Sun Mar 2 16:04:38 CET 2008
Try:
rollapply(x, 3, force)
or
embed(x, 3)[, 3:1]
On Sun, Mar 2, 2008 at 9:53 AM, Bo Zhou <bozhou1981 at hotmail.com> wrote:
>
> I needed that matrix for following calculations. So I don't think roll*
> would work for me.
>
> Re: embed
>
> > x <- 1:10
> > embed (x, 3)
> [,1] [,2] [,3]
> [1,] 3 2 1
> [2,] 4 3 2
> [3,] 5 4 3
> [4,] 6 5 4
> [5,] 7 6 5
> [6,] 8 7 6
> [7,] 9 8 7
> [8,] 10 9 8
> > x
> [1] 1 2 3 4 5 6 7 8 9 10
>
> The matrix is in revered order. Anyway to put the matrix in the original
> order? Ie
> 1 2 3
> 2 3 4
> ...
>
>
> Cheers,
> Bo
>
>
>
>
> > Date: Sun, 2 Mar 2008 09:40:09 -0500
> > From: ggrothendieck at gmail.com
> > To: bozhou1981 at hotmail.com
> > Subject: Re: [R] Idioms for a timeseries operation - moving window
> > CC: r-help at r-project.org
> >
>
> > 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.
> > >
> > >
>
> ________________________________
> Shed those extra pounds with MSN and The Biggest Loser! Learn more.
More information about the R-help
mailing list