【问题标题】:Remove specific words and symbol from a df从 df 中删除特定的单词和符号
【发布时间】:2019-02-01 15:49:31
【问题描述】:

我有一个这样的数据框结构,39 行

        text.
  "A" OR "B" OR "C"
  "C" OR "D" OR "E"

以及我要删除的单词的“黑名单”,以符号 " 开头和结尾。(200 个单词)这里是一个示例:

   blackList
      "A"
      "D"

我想从起始数据框中删除它们,获得:

        text.
    OR "B" OR "C"
    "C" OR OR "E"

我该怎么办?我尝试使用 removeWords,但它不读取符号 "

【问题讨论】:

  • 您能否在问题中提供dput(myData) 而不是粘贴数据值?

标签: r word


【解决方案1】:

我们可以通过将所有列入黑名单的项目与“|”粘贴在一起来创建一个模式作为可折叠参数,然后将它们全部删除。

df$text <- gsub(paste0(blacklist$blackList, collapse = "|"), "", df$text)

df
#            text
#1  OR "B" OR "C"
#2 "C" OR  OR "E"

数据

df <- data.frame(text = c('"A" OR "B" OR "C"','"C" OR "D" OR "E"'))
blacklist <- data.frame(blackList = c('"A"', '"D"'))

【讨论】:

    【解决方案2】:

    gsub('\"A\"', "", '"A" OR "B" OR "C"')

    用反斜杠转义引号并使用 gsub

    【讨论】:

    • 它可以,但我必须为黑名单的所有条款这样做。
    猜你喜欢
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 2018-11-29
    • 2014-07-03
    相关资源
    最近更新 更多