[R] Subsetting a group of data

R. Michael Weylandt michael.weylandt at gmail.com
Thu Oct 4 17:35:17 CEST 2012


On Thu, Oct 4, 2012 at 3:20 PM, Ian Arvin <ian at innovativequant.com> wrote:
> Hi,
>
>
> I am making my way down the learning curve of R, and find it a great
> language with so many helpful users!

Up it hopefully, no?

>
> Below is an example of what I'm trying to do, but can't quite figure out the
> right path to go down.
>
>
>
> Here's what I have:
>
>
>
> Main is a time series of data with columns Cola and Colb
>
>                 Cola       Colb
>
> 1              1              1
>
> 2              1              1
>
> 3              1              1
>
> 4              -1            1
>
> 5              -1            -1
>
> 6              -1            -1
>
> 7              1              -1
>
> 8              -1            -1
>
> 9              -1            -1
>
> 10           -1            -1
>
>
>
> What I would like is to subset the data into groups -  rows 1-3 into one
> group (Cola and Colb both =1), then row 4 by itself, then rows 5-6, then row
> 7, then rows 8-10.
>
> Group 1
>
>                 Cola       Colb
>
> 1              1              1
>
> 2              1              1
>
> 3              1              1
>
>
>
> Group 2
>
>                 Cola       Colb
>
> 1              -1            1
>
>
>
> Group 3
>
>                 Cola       Colb
>
> 1              -1            -1
>
> 2              -1            -1
>
>
>

Short answer is to ask why you want to do this? There are many
functions which operate on the split-->apply-->combine paradigm (see
the JSS article of that name for a short intro) but I find it easier
to do this in conjunction with specifying what my data transformation
is.

To directly answer your question, you'll probably need to combine
split() and interaction() in some way.

Cheers,
Michael




More information about the R-help mailing list