r - 根据推文中的关键字分配 ID
问题描述
我通过输入 44 个不同的关键字提取了推文,输出在一个文件中,该文件总共包含 40 万条推文。输出文件包含包含相关关键字的推文。如何创建一个单独的 ID 列,其中包含该推文中存在的关键字?
例如:推文是:
安得拉邦是对妇女犯罪的最高州
这里的关键词是“对妇女的犯罪”
我想创建一个列,将关键字“针对女性的犯罪”分配给推文,准确地说是一种 ID 列。
#input column 1
Tweet<-("Andhra Pradesh is the highest state with crimes against women")
#expected output column 2 beside the Tweet column
Keyword<-("crimes against women")
编辑:我不想提取推文的任何部分,我只想能够在一个新列中为推文分配它包含的关键字,这样它将帮助我根据这个关键字分离推文。
解决方案
我们可以使用stringr
它对字符串操作非常方便,并且简单地使用str_extract
,即
str_extract(Tweet, Keyword)
#[1] "crimes against women"
对于您需要应用的多个关键字和多个字符串,即
Keyword <- c("crimes against women", "something")
Tweet <- c("Andhra Pradesh is the highest state with crimes against women",
"another string with something else")
sapply(Tweet, function(i)str_extract(i, paste(Keyword, collapse = '|')))
# Andhra Pradesh is the highest state with crimes against women another string with something else
# "crimes against women" "something"
推荐阅读
- php - 销售线已经存在。标识字段和值:Document Type='',Document No.='',Line No.=''
- node.js - Angular 10 不允许我在本地安装 Angular 6 - package.json 被忽略
- python - Keras:使功能模型接受 LSTM 的多个批次
- three.js - 是否可以更改 meshNormalMaterial 默认 x、y、z 颜色?
- npm - 如何在不修改 package.json 的情况下执行“npm update”?
- python - 如何对数据框的两列进行分组并将其他列转换为以列标题为键的dict
- python - RuntimeWarning:在 ushort_scalars 中遇到无效值
- angular - AGM-Map InvalidValueError & Uncaught TypeError
- javascript - 错误 404,javascript http 请求转到 django 服务器中的 /favicon.ico
- c# - 从下拉列表 C# Bot Framework 中获取值