首页 > 解决方案 > 删除除“you”、“your's”、“me”、“mine”之外的所有停用词

问题描述

我正在尝试删除所有英语停用词,除了“you/your's”、“me/mine”,因为这些对我的分析很重要。有人可以帮我解决这个问题吗?我对 R 很陌生,所以我知道我使用以下代码删除了停用词:

corpus <- tm_map(corpus, removeWords, stopwords("english"))

...但我不知道如何保留我需要的单词

标签: rtmstop-words

解决方案


您可以从 stopwords("english") 中提取字符串并删除您希望保留的字符串,这样它们就不会被排除在外。这是 dplyr 语法的示例。

library(tm)
library(dplyr)
library(stringr)

words_to_keep <- c("me","mine","your","yours")

my_stopwords <- data.frame(words = stopwords("english"))%>% #make into dataframe
  filter(!(words %in% words_to_keep))%>% #filter to exclude the words you want to keep
  pull() #transform it back into a vector of strings 

corpus <- tm_map(corpus,removeWords,my_stopwords)


推荐阅读