[R] syntax to subset for multiple values from a single variable

From: SNV Krishna <krishna_at_primps.com.sg>
Date: Wed, 06 Apr 2011 16:45:57 +0800


Hi All,  

Is it possible to use the subset() function to select data based on multiple values of a single variable from a data frame.  

My actual data set is much bigger and would like to illustrate with following dataset
> df = data.frame(x = c('a','b','c','d','e','f','g','h','a','a','b','b'), y
= 1:12)
I would like to select all rows where x = a or b.  

> subset(df, x == c('a','b')) # this command did not return all rows where x
is equal to a or b

   x y

1 a 1

2 b 2

9 a 9

12 b 12  

> df[df$x %in% c('a','b'),] # subsetting using subscripts returned all rows

   x y

1 a 1

2 b 2

9 a 9

10 a 10

11 b 11

12 b 12  

I know there might be a problem with subset syntax that I have used, but could'nt figure out what it is. Any insights from members will be highly appreciated and thanks for the same.  

Regards,  

S.N.V. Krishna  

        [[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 Wed 06 Apr 2011 - 08:51:58 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 Wed 06 Apr 2011 - 10:20:27 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.

list of date sections of archive