You almost got it right. THe solution is df[df$ind %in% subgr,]
See ?"%in%" G. On Tue, Feb 05, 2008 at 04:47:02PM +0100, Karin Lagesen wrote: > > Hi! > > I have a large dataframe that I want to extract a subset from. This > subset has a certain column value that matches elements in a vector I > have defined. So, my question is how do I get the rows that match one > of the elements in the vector. > > Example: > > a = c(1:5) > b = letters[1:10] > df = data.frame(ind = a, letrs = b) > > > df > ind letrs > 1 1 a > 2 2 b > 3 3 c > 4 4 d > 5 5 e > 6 1 f > 7 2 g > 8 3 h > 9 4 i > 10 5 j > > > > > # Now I want to extract all of the rows where ind == 2, 4 or 5. > # This would be rows 2, 4, 5, 7, 9 and 10 > > subgr = c(2,4,6) > > My most natural inclination would be to do > > df[df$ind == subgr,] > > However, this does not work: > > > > df[df$ind == subgr,] > ind letrs > 7 2 g > Warning message: > In df$ind == subgr : > longer object length is not a multiple of shorter object length > > > > So, which part of this is it that I have misunderstood? > > Thanks for your help btw! > > Karin > -- > Karin Lagesen, PhD student > [EMAIL PROTECTED] > http://folk.uio.no/karinlag > > ______________________________________________ > 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. -- Csardi Gabor <[EMAIL PROTECTED]> UNIL DGM ______________________________________________ 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.