[R] matching strings in a list
Marc Schwartz
marc_schwartz at me.com
Thu Jul 16 19:57:03 CEST 2015
> On Jul 16, 2015, at 12:40 PM, tryingtolearn <inshique at ymail.com> wrote:
>
> Say I have a list:
> [[1]] "I like google"
> [[2]] "Hi Google google"
> [[3]] "what's up"
>
> and they are tweets. And I want to find out how many tweets mention google
> (the answer should be 2).
> If I string split and unlist them, then I would get the answer of 3. How do
> I make sure I get just 2?
See ?grepl presuming that you just want a count of the matches.
If you want it to also be case insensitive, set 'ignore.case = TRUE’.
For example:
Tweets <- list("I like google", "Hi Google google", "what's up”)
> Tweets
[[1]]
[1] "I like google"
[[2]]
[1] "Hi Google google"
[[3]]
[1] "what's up”
> sapply(Tweets, function(x) grepl("google", x, ignore.case = TRUE))
[1] TRUE TRUE FALSE
> sum(sapply(Tweets, function(x) grepl("google", x, ignore.case = TRUE)))
[1] 2
Regards,
Marc Schwartz
More information about the R-help
mailing list