计算单词出现的次数(dplyr)

时间:2018-08-29 15:28:59

标签: r regex count dplyr

这里的问题很简单,也许是this的副本?

我试图弄清楚如何计算单词在矢量中出现的次数。我知道我可以计算单词出现的行数,如下所示:

Authorization: Bearer ..

上面的代码中的答案为3,因为“ great”出现在三行中。但是,单词“ great”在向量“ response”中出现了4个不同的时间。我如何找到它呢?

2 个答案:

答案 0 :(得分:2)

我们可以使用str_count中的stringr来获取每行中具有“ great”数量的实例的数量,然后获得该计数的sum

library(tidyverse)
temp %>% 
   mutate(n = str_count(response, 'great')) %>%
   summarise(n = sum(n))
# A tibble: 1 x 1
#      n
#   <int>
#1     4

或使用regmatches/gregexpr中的base R

sum(lengths(regmatches(temp$response, gregexpr('great', temp$response))))
#[1] 4

答案 1 :(得分:2)

从我的头顶上方,这应该可以解决您的问题:

library(tidyverse)
temp$response %>% 
  str_extract_all('great') %>%
  unlist %>%
  length