有没有更好的方法来计算结果中有多少元素满足条件?
a <- c(1:5, 1:-3, 1, 2, 3, 4, 5)
b <- c(6:-8)
u <- a > b
length(u[u == TRUE])
## [1] 7
答案 0 :(得分:17)
sum直接执行此操作,计算逻辑向量中的TRUE值的数量:
sum(u, na.rm=TRUE)
当然,没有必要为此构建你:
sum(a > b, na.rm=TRUE)
同样适用。如果任何值为sum
,则NA
默认会返回NA
。 na.rm=TRUE
忽略总和中的NA
值(逻辑或数字)。
答案 1 :(得分:8)
我一直用这个表:
a <- c(1:5, 1:-3, 1, 2, 3, 4, 5)
b <- c(6:-8)
table(a>b)
FALSE TRUE
8 7
答案 2 :(得分:3)
如果z
仅由TRUE
或FALSE
组成,则只需
length(which(z))