You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何删除数据框文本列中的自定义停用词

问题原因及解决方法

核心失效原因

  • 大小写不匹配:你提供的文本示例中存在首字母大写的词汇(如Em、O),但停用词表存储的是全小写的em、o,anti_join为精确匹配,大小写不一致会判定为不匹配,导致停用词无法被删除。
  • 存在不可见字符:停用词表或文本拆分后的word列可能存在首尾空格、换行符等不可见字符,干扰匹配逻辑。
  • 数据类型不匹配:读取停用词时如果word列被默认转为因子类型,和文本列的字符类型不一致,也会导致匹配失败。

修正后完整代码

library(tidytext)
library(dplyr)

# 读取并标准化停用词
stopwords <- read.csv2("stopwordPT.csv", stringsAsFactors = FALSE) %>%
  rename(word = 1) %>%
  mutate(word = tolower(trimws(word)))

# 标准化文本词汇后删除停用词
tesesResumoUnique <- tesesResumoUnique %>%
  mutate(word = tolower(trimws(word))) %>%
  anti_join(stopwords, by = "word")

效果验证

你可以执行以下代码查看匹配到的停用词数量,确认匹配逻辑正常:

inner_join(tesesResumoUnique, stopwords, by = "word") %>% count()

如果返回结果大于0,说明停用词可以被正常识别删除。

内容的提问来源于stack exchange,提问作者Robson Brandão

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:39:04