[R] select rows from data based on a vector of char strings

seanpor seanpor at acm.org
Thu Apr 24 11:20:04 CEST 2008


or using the %in% operator...

?"%in%"

data[data$label %in% flist,]

regards,
Sean


Applejus wrote:
> 
> Hi,
> 
> You are right the == doesn't work, but there's a workaround using regular
> expressions:
> 
> flist<-"fun|food"
> grep(flist, data$label)
> 
> will give you the vector [2 4] which are the numbers of the rows of
> interest!
> 
> 
> Dirkheld wrote:
>> 
>> Hi,
>> 
>> I have loaded a dataset in R :
>> data = 
>> 
>> label   freq1   freq2
>> news   54      35
>> fun      37      21
>> milk    19      7
>> food     3       3
>> .... etc
>> 
>> And I have a vector
>> flist<-c("fun","food")
>> 
>> Now I want to use the vector 'flist' for selecting these values from
>> 'data' so that I get the following dataset :
>> label   freq1   freq2
>> fun      37      21
>> food     3       3
>> 
>> When I do 'data$label==flist[1]' I get 'F T F F', so it works for one
>> item in the char vector flist.
>> But, when I do 'data$label==flist' I get 'F F F F' while I expected 'F T
>> F T'. It seems that I can't perform this action with a vector of
>> charstrings? 
>> 
>> Is there an other way to do so?
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/select-rows-from-data-based-on-a-vector-of-char-strings-tp16832735p16848199.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list