Here is a way of doing it: > x 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 > do.call(rbind, lapply(split(x, list(x$block, x$trial), drop=TRUE), head, 2)) block trial x y 1.1.1 1 1 605 150 1.1.2 1 1 603 148 1.2.7 1 2 607 148 1.2.8 1 2 605 152
On Mon, May 11, 2009 at 7:49 AM, Jens Bölte <boe...@psy.uni-muenster.de>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 > > ______________________________________________ > 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<http://www.r-project.org/posting-guide.html> > and provide commented, minimal, self-contained, reproducible code. > > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? [[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.