# Re: [R] Idioms for a timeseries operation - moving window

From: Bo Zhou <bozhou1981_at_hotmail.com>
Date: Sun, 02 Mar 2008 15:17:31 +0000

Thanks. Problem solved.

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_at_gmail.com
> To: bozhou1981@hotmail.com
> Subject: Re: [R] Idioms for a timeseries operation - moving window
> CC: r-help_at_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_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
> > 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]]

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. Received on Sun 02 Mar 2008 - 15:20:46 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sun 02 Mar 2008 - 15:30:18 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.