Re: [R] selections of data by one variable

From: Marc Schwartz <MSchwartz_at_MedAnalytics.com>
Date: Wed 04 May 2005 - 22:56:01 EST

On Wed, 2005-05-04 at 11:14 +0000, Tu Yu-Kang wrote:
> Dear R experts,
>
> My problem is as follows:
>
> Suppose I have a data frame d comprising two variable a<-c(1:10) &
> b<-c(11:20).
>
> I now want to select a subgroup according the values of b.
>
> I know if I just want to select, say, b=17, I can use f<-d[d$b==17] and R
> will give me
>
> > f
> a b
> 7 7 17
>
> However, if now I want to select a subgroup according to b==e<-c(13,15,17),
> then the same syntx doesn't work.
>
> What is the correct way to do it? My data have more than one million
> subjects, and I want to select part of them according to their id numbers.
>
> Your help will be highly appreciated.
>
> Best regards,
>
> Yu-Kang

You would want to use something like the following:

> df <- data.frame(a = 1:10, b = 11:20)

> df

    a b
1 1 11
2 2 12
3 3 13
4 4 14
5 5 15
6 6 16
7 7 17
8 8 18
9 9 19
10 10 20

> df[df$b %in% c(13, 15, 17), ]

  a b
3 3 13
5 5 15
7 7 17

See ?"%in%" for more information.

Also, see ?subset for more flexibility in using complex boolean expressions for subsetting.

HTH, Marc Schwartz



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Wed May 04 23:34:27 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:35 EST