KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
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. For example, I'd like to pull out all the rows for anyone named Bob or Mary: ## 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),] Any ideas would be helpful!
Tags (comma-separated)
Save Edits
Cancel