r - 计算与向量中的几个模式(AND 运算符)匹配的行数
问题描述
我有数据集:
dataset <- c("male Neque porro quisquam est qui dolorem ipsum quia dolor sit amet female consectetur, adipisci velit young",
"est qui dolorem tall dolorem ipsum female Neque young",
"male, female porro old")
dataset <- as.data.frame(dataset)
我有一个关键字列表:
keywords <- c("male", "female", "young")
我可以计算包含“单词”的行数:
sapply(keywords, function(x) length(grep(x, dataset$dataset, ignore.case = TRUE)))
我的结果:
male female young
3 3 2
我想要的是:计算与关键字组合(AND 运算符)匹配的行数。
- 男性和女性的行数:2
- 男性和年轻的行数:1
- 女性和年轻的行数:2
- 男性和年轻的行数:1
解决方案
一种方法是使用stri_extract_all_regex
获取所有keywords
. 然后遍历该列表组合以获取对,unlist
并用于table
计数,即
library(stringi)
table(unlist(sapply(stri_extract_all_regex(dataset$dataset, paste(keywords, collapse = '|')),
function(i)combn(i, 2, toString))))
#female, young male, female male, young
# 2 2 1
推荐阅读
- vba - ClipboardFormat 值 44 和 50 的含义
- c# - 如何在 Entity .net Core 2.1 中使用 Fluid api 将字段设置为“日期”
- java - 服务器日志轮换
- c# - Xamarin 使用 razor 模板将 html 转换为 pdf
- mysql - 如何获取 MYSQL 数据库中表和视图的 from 子句中使用的所有表和视图的列表?
- asp.net-core - ASP.NET Core Paypal 实现
- forms - React Forms 更新嵌套状态对象 - 从输入重构状态对象
- jquery - Jquery jcrop 裁剪器框架未从底部正确对齐
- ios - UIImageView + UIImage vs CALayer + 内容效率
- python-3.x - Python3 & WSGI 模块错误