
Thanks. Problem solved.

> rollapply(x,3,force, align="left")
        
1 1 2  3
2 2 3  4
3 3 4  5
4 4 5  6
5 5 6  7
6 6 7  8
7 7 8  9
8 8 9 10

> x<-1:10
> embed(x, 3)[, 3:1]
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    2    3    4
[3,]    3    4    5
[4,]    4    5    6
[5,]    5    6    7
[6,]    6    7    8
[7,]    7    8    9
[8,]    8    9   10
> 


> Date: Sun, 2 Mar 2008 10:04:38 -0500
> From: ggrothendieck@gmail.com
> To: bozhou1981@hotmail.com
> Subject: Re: [R] Idioms for a timeseries operation - moving window
> CC: r-help@r-project.org
> 
> Try:
> 
> rollapply(x, 3, force)
> 
> or
> 
> embed(x, 3)[, 3:1]
> 
> On Sun, Mar 2, 2008 at 9:53 AM, Bo Zhou <bozhou1981@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@gmail.com
> > > To: bozhou1981@hotmail.com
> > > Subject: Re: [R] Idioms for a timeseries operation - moving window
> > > CC: r-help@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@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@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.

_________________________________________________________________
[[elided Hotmail spam]]

	[[alternative HTML version deleted]]

