title: Subset based on list of strings using grepl()?
body: <p>I'm looking to do something seemingly very simple.  I would like to subset a data frame in R using the grepl() command -- or something like it -- on several different phrases without constructing a loop.</p>
  
  <p>For example, I'd like to pull out all the rows for anyone named Bob or Mary:</p>
  
  <pre><code>## example data frame:
  tmp = structure(list(Name = structure(c(6L, 8L, 9L, 7L, 2L, 3L, 10L, 
  1L, 5L, 4L), .Label = c("Alan", "Bob", "bob smith", "Frank", 
  "John", "Mary Anne", "mary jane", "Mary Smith", "Potter, Mary", 
  "smith, BOB"), class = "factor"), Age = c(31L, 23L, 23L, 55L, 
  32L, 36L, 45L, 12L, 43L, 46L), Height = 1:10), .Names = c("Name", 
  "Age", "Height"), class = "data.frame", row.names = c(NA, -10L
  ))
  
  tmp
  
  #           Name Age Height
  #1     Mary Anne  31      1
  #2    Mary Smith  23      2
  #3  Potter, Mary  23      3
  #4     mary jane  55      4
  #5           Bob  32      5
  #6     bob smith  36      6
  #7    smith, BOB  45      7
  #8          Alan  12      8
  #9          John  43      9
  #10        Frank  46     10
  
  ## this doesn't work
  mynames=c('bob','mary')
  tmp[grepl(mynames,tmp$Name,ignore.case=T),]
  </code></pre>
  
  <p>Any ideas would be helpful!</p>