[R] aggregate over x cases
baptiste auguie
ba208 at exeter.ac.uk
Mon May 11 13:59:22 CEST 2009
try this,
library(plyr)
ddply(d, .(block, trial), function(.d) .d[1:2, ])
> block trial x y
> 1 1 1 605 150
> 2 1 1 603 148
> 3 1 2 607 148
> 4 1 2 605 152
HTH,
baptiste
On 11 May 2009, at 13:49, Jens Bölte wrote:
> Hello,
>
> I have been struggling for quite some time to find a solution for
> the following problem. I have a data frame which is organized by
> block and trial. Each trial is represented across several rows in
> this data frame. I'd like to extract the first x rows per trial and
> block.
>
> For example
> block trial x y
> 1 1 1 605 150
> 2 1 1 603 148
> 3 1 1 604 140
> 4 1 1 600 140
> 5 1 1 590 135
> 6 1 1 580 135
> 7 1 2 607 148
> 8 1 2 605 152
> 10 1 2 600 158
> .....
>
> Selecting only the the first two rows per trial should result in
>
> block trial x y
> 1 1 605 150
> 1 1 603 148
> 1 2 607 148
> 1 2 605 152
>
> The data I am dealing with a x-y coordinates (samples) from an eye-
> tracking experiment. I receive the data in this format and need to
> eliminate unwanted samples.
>
> Thanks Jens Bölte
> <ATT00001.txt>
_____________________________
Baptiste Auguié
School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK
Phone: +44 1392 264187
http://newton.ex.ac.uk/research/emag
More information about the R-help
mailing list