r - 计算一个单词是否同时匹配两列

标签 r

如何计算同时出现在两列中的特定单词?

ab <- data.frame(one = c("abcd","efg","ijk"), two = c("abcd mmmk","abcd qrst","ijk"))

只有当第一列和第二列都出现时,我才需要获取 abcd 的计数。

例如:预期结果:abcd = 1 的计数,

bcos 只有第一行有两个 abcd 但不能添加第二行,因为只有一行有 abcd 但我在下面尝试的代码给出的结果为“2”

请帮我实现这个

代码:

length(grep('abcd',ab$one) & grep('abcd', ab$two))

最佳答案

您可以将 greplsapplyrowSums 结合使用来计算一个单词是否匹配所有列:

sum(rowSums(sapply(ab, grepl, pattern="abcd")) == ncol(ab))
#sum(rowSums(!sapply(ab, grepl, pattern="abcd")) == 0) #Alternativ
#[1] 1

关于r - 计算一个单词是否同时匹配两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61634974/

相关文章:

r - 使用 filter() 和 str_detect() 按多个模式过滤

html - 将文件转换(打印)为 PDF - 使用 R? (在窗口中)

r - unique() 用于多个变量

r - 从另一个列表中的项目命名列表

r - 循环遍历向量的向量

r - 使用 `texreg` 根据回归模型中出现的顺序显示变量名称

javascript - 如何在 R 中抓取实时 Java 脚本网页?

r - 导航栏中的复选框小部件 Shiny

r - 从日期列表中获取初始月份

R 使用每个 id 的多个观测值进行引导重采样,并返回重采样数据作为结果