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

Chuck Cleland ccleland at optonline.net
Wed Apr 23 10:24:19 CEST 2008


On 4/23/2008 3:13 AM, 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?

newdata <- subset(data, label %in% flist)

?subset
?is.element

-- 
Chuck Cleland, Ph.D.
NDRI, Inc. (www.ndri.org)
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 512-0171 (M, W, F)
fax: (917) 438-0894



More information about the R-help mailing list