我有一个字符向量,基本上包含单词的各个段落。我想计算一个特定单词在每行中分别出现的次数,然后创建一个新的向量来保存该数字。如何使用dplyr实现这一目标? (也可以使用其他任何方法)。
我最接近解决方案的地方是此链接:Count number of times a word appears (dplyr),但它并没有完全满足我的需求。
答案 0 :(得分:0)
您可以按段落的分隔符对段落进行分割,然后对条件检查求和:
df <- structure(list(words = c("CDjointdisease state glasses CDdiabetes eyesight",
"accidents_combined docvisits4w citysize CDliverdisease CDosteoporosis"
)), .Names = c("words"), row.names = 1:2, class = "data.frame")
> df
words
1 CDjointdisease state glasses CDdiabetes eyesight
2 accidents_combined docvisits4w citysize CDliverdisease CDosteoporosis
df$count <- sapply(strsplit(df$words, " "), function(x){
sum(x == "eyesight")
})
> df
words count
1 CDjointdisease state glasses CDdiabetes eyesight 1
2 accidents_combined docvisits4w citysize CDliverdisease CDosteoporosis 0