从 R 中的字符串列表中删除停用词
Removing Stop words from a list of strings in R
示例数据
输入我的数据代码
x <- structure(list(Comments = structure(2:1, .Label = c("I have a lot of home-work to be completed..",
"I want to vist my teacher today only!!"), class = "factor"),
Comment_ID = c(704, 802)), class = "data.frame", row.names = c(NA,
-2L))
我想使用 tidytext::stop_words$word
从上述数据集中删除停用词,并在输出中保留相同的列。除此之外,如何删除 tidytext
包中的标点符号?
注意:我不想将我的数据集更改为语料库
您可以将 tidytext::stop_words$word
中的所有单词合并为一个添加单词边界的正则表达式。但是,tidytext::stop_words$word
的长度为 1149,这对于正则表达式来说可能太大而无法处理,因此您可以删除一些不需要的词并应用它。
例如只取 tidytext::stop_words$word
的前 10 个词,你可以这样做:
gsub(paste0(paste0('\b', tidytext::stop_words$word[1:10], '\b',
collapse = "|"), '|[[:punct:]]+'), '', x$Comments)
#[1] "I want to vist my teacher today only"
# "I have lot of homework to be completed"
clean_tweet = removeWords(clean_tweet, stopwords("english"))
示例数据
输入我的数据代码
x <- structure(list(Comments = structure(2:1, .Label = c("I have a lot of home-work to be completed..",
"I want to vist my teacher today only!!"), class = "factor"),
Comment_ID = c(704, 802)), class = "data.frame", row.names = c(NA,
-2L))
我想使用 tidytext::stop_words$word
从上述数据集中删除停用词,并在输出中保留相同的列。除此之外,如何删除 tidytext
包中的标点符号?
注意:我不想将我的数据集更改为语料库
您可以将 tidytext::stop_words$word
中的所有单词合并为一个添加单词边界的正则表达式。但是,tidytext::stop_words$word
的长度为 1149,这对于正则表达式来说可能太大而无法处理,因此您可以删除一些不需要的词并应用它。
例如只取 tidytext::stop_words$word
的前 10 个词,你可以这样做:
gsub(paste0(paste0('\b', tidytext::stop_words$word[1:10], '\b',
collapse = "|"), '|[[:punct:]]+'), '', x$Comments)
#[1] "I want to vist my teacher today only"
# "I have lot of homework to be completed"
clean_tweet = removeWords(clean_tweet, stopwords("english"))