[R] subsetting data-frame by vector of characters

james perkins jperkins at biochem.ucl.ac.uk
Fri Jun 13 16:07:40 CEST 2008


Hi,

I have a very simple problem but I can't think how to solve it without 
using a for loop and creating a large logical vector. However given the 
nature of the problem I am sure there is a "1-liner" that could do the 
same thing much more efficiently.

bascially I have a dataframe with characters in, eg

 >names.and.numbers

(index)    Name    Fave.Number
1    John    7
2    Tony    12
3    Phil    14
4    Adam    22
5    Robert    23


Now, imagine I have a vector of names, ie:

 >names = c("John,Phil,Robert")

All I want to do is get the subset of the dataframe which corresponds to 
the names in the vector "Names". IE

(index)    Name    Fave.Number
1    John    7
2    Phil    14
3    Robert    23

Sorry, I know its trivial but I'm new to R and its hard to start 
thinking in R, as I say, I've written a complicated for loop using 
intersect and creating a logical table, but this is very long winded!!!

Regards,

Jim



More information about the R-help mailing list