【问题标题】:Count number of times a word appears in each row and store in new column (dplyr)计算单词在每一行中出现的次数并存储在新列中(dplyr)
【发布时间】:2018-09-25 09:31:07
【问题描述】:

我有一个基本上包含单词段落的字符向量。我想分别计算特定单词在每一行中出现的次数,然后创建一个新向量来保存这个数字。如何使用 dplyr 实现这一目标? (任何其他可用的方法也可以)。

我最接近解决方案的是这个链接:Count number of times a word appears (dplyr),但它并没有给我我想要的。

【问题讨论】:

  • 欢迎来到 SO!请向我们提供您数据的代表性部分。这将允许想要帮助您进行一些玩具和试验的人。

标签: r dplyr text-mining word-frequency qdap


【解决方案1】:

您可以通过分隔符拆分段落并对条件检查求和:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-18
    • 2011-08-04
    • 2013-12-25
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    • 2016-01-09
    相关资源
    最近更新 更多