如何计算同时出现在两列中的特定单词?
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))
最佳答案
您可以将 grepl
与 sapply
和 rowSums
结合使用来计算一个单词是否匹配所有列:
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/