r - 从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,这对于正则表达式来说可能太大而无法处理,因此您可以删除一些不需要的单词并应用它。
例如,只取前 10 个单词tidytext::stop_words$word
,您可以:
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"
推荐阅读
- android - 在 Kotlin 中,不能将数据作为单独的变量发送到套接字服务器
- android - TMessagesProj:externalNativeBuildAfatDebug
- prestashop - 在类别页面中为 meta_title、meta_key、meta_description 添加前缀或附加字符串
- javascript - JS 代码在 localhost 上工作,但不在生产环境中
- javascript - 在Javascript中检查密码和重新输入的密码是否相同
- angular - Observable.fromEvent 不是 prod 模式 Angular 6 中的函数
- javafx - 如何在javafx中获取3D对象的窗口上的2D坐标
- c# - 从存储帐户 blob 读取和解析 Azure IoT 中心遥测数据
- docker - Docker Swarm 创建服务无法从远程存储库中提取
- amazon-s3 - CloudFront - 编辑源 - 限制存储桶访问