在每行中只计算单词出现一次的次数(R)

3
我想统计一个单词在每行中仅出现一次的次数。如何完成代码?
library(stringr)

var1 <- c("x", "x", "x", "x", "x", "x", "y", "y", "y", "y")
var2 <- c("x", "x", "b", "b", "c", "d", "e", "y", "g", "h")
var3 <- c("x", "x", "b", "b", "c", "d", "e", "y", "g", "h")
data <- data.frame(cbind(var1, var2, var3))

sum(str_count(data, "x"))

结果应该是6。
1个回答

5
以下代码应该可以解决问题:
sum(rowSums(data == "x") >= 1) # Thanks Maël
# [1] 6

该功能将检查每行是否至少有一个值(rowSums()),并使用sum()将所有具有1+个值的行相加。

或者,按照Antreas的评论,您可以选择以下方式:

length(which(rowSums(data == "x") != 0)) # Thanks to Antreas Stefopoulos

使用 length() 计算非零行的数量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接