[R] How can I extract part of the data with a selection criterion?

David Winsemius dwinsemius at comcast.net
Fri May 10 04:31:13 CEST 2013


On May 9, 2013, at 7:06 PM, jpm miao wrote:

> Hi,
> 
>   As an example, how can I get the data such that field a of ab, ab["a"],
> equals 3? I expect the answer to be the union of 2 and 4, as
> 
>   Thanks,
> 
>> a<-c(1,3,4,3,5,6,5)
>> b<-c(2,4,6,7,3,1,2)
>> ab<-data.frame(a,b)
>> ab
>  a b
> 1 1 2
> 2 3 4
> 3 4 6
> 4 3 7
> 5 5 3
> 6 6 1
> 7 5 2
> 
>> ab[a==3]
> Error in `[.data.frame`(ab, a == 3) : undefined columns selected
>> ab[ab["a"]==3]
> [1] 3 3 4 7
> 
Try;

ab[ ab[["a"]]==3, ]

And then read ?Extract to help drive home the point the ab["a"] is a list with one element and ab[["a"]] is a vector with 7 elements.

--
David Winsemius
Alameda, CA, USA



More information about the R-help mailing list