12

有没有更好的方法来计算结果中有多少元素满足条件?

a <- c(1:5, 1:-3, 1, 2, 3, 4, 5)
b <- c(6:-8)
u <- a > b
length(u[u == TRUE])
## [1] 7
4

3 回答 3

19

sum 直接执行此操作,计算逻辑向量中 TRUE 值的数量:

sum(u, na.rm=TRUE)

当然,没有必要为此构造 u :

sum(a > b, na.rm=TRUE)

也可以。 如果任何值是.sum将默认返回。 忽略总和中的值(对于逻辑或数字)。NANAna.rm=TRUENA

于 2012-12-17T01:42:38.967 回答
8

我一直为此使用表格:

a <- c(1:5, 1:-3, 1, 2, 3, 4, 5)
b <- c(6:-8)
table(a>b)
FALSE  TRUE 
    8     7 
于 2012-12-17T03:22:49.707 回答
8

如果z仅由TRUEor组成FALSE,则只需

length(which(z))
于 2017-11-10T02:30:50.977 回答