使用all
and apply
(虽然apply
使用它自己的循环)。
m <- as.matrix(rbind(c(129,129,120),c(135,97,96),c(0,0,0),c(39,4,2)))
apply(m, 1, function(x) all(x > 3))
# [1] TRUE TRUE FALSE FALSE
如果您真的想要“PASS”和“FAIL”,则可以factor
使用该apply
步骤的结果。
factor(apply(m, 1, function(x) all(x > 3)),
levels = c(FALSE, TRUE),
labels = c("FAIL", "PASS"))
# [1] PASS PASS FAIL FAIL
# Levels: FAIL PASS
稍微扩展 Codoremifa 的答案,类似的方法适用于data.table
,特别是因为您指定了您想要一个向量或因子作为输出。
library(data.table)
DT <- data.table(m)
DT[, all(.SD > 3), by = 1:nrow(DT)][, factor(V1, labels = c("FAIL", "PASS"))]
# [1] PASS PASS FAIL FAIL
# Levels: FAIL PASS