From: Marc Schwartz <MSchwartz_at_MedAnalytics.com>

Date: Wed 04 May 2005 - 22:56:01 EST

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

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
*