[R] grep with search terms defined by a variable

Daniel Malter daniel at umd.edu
Tue Aug 3 06:05:25 CEST 2010


Hi, I have a good grasp of grep() and gsub() for finding and extracting
character strings. However, I cannot figure out how to use a search term
that is stored in a variable when the search string is more complex.

#Say I have a string, and want to know whether the last name "Jannings" is
in the string. This is done by

names=c("Emil Jannings")
grep("Emil",names)

#Yet, I need to store the search terms in a variable, which works for the
very simple example

search.term="Emil"
grep(search.term,names)

#but I cannot get it to work for the more difficult example in which I want
to do something like

grep(^search.term,names)
grep("^search.term",names)
grep("^"search.term,names)

#Implying that the search term must be the first part of the string that is
being searched

#Ultimately, I need to to loop over several strings stored in search.term,
for example,

names=c("Emil Jannings","Charles Chaplin","Katherine Hepburn","Meryl
Streep")
search.term=c("Emil","Meryl")

for(i in 1:length(names)){
     print(grep(^search.term[i],names))
}

So the questions I have are two. 1. How do I concatenate terms that I would
normally quote (like "^") with variables that contain search terms and that
normally would not be quoted? 2. How do I run this over indices of the
variable that contains the search terms?

I greatly appreciate any help,
Daniel




-- 
View this message in context: http://r.789695.n4.nabble.com/grep-with-search-terms-defined-by-a-variable-tp2311294p2311294.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list