Если единицы не должны быть последовательными, вот способ подсчета строк с 3 1.
Ели создают матрицу случайных 0 и 1, чтобы проверить код. Затем определите функцию rowOnes
, которая выполняет реальную работу, и запустите ее на примере матрицы mat
.
set.seed(1234)
mat <- matrix(rbinom(24, 1, 0.5), nrow = 4)
rowOnes <- function(X, na.rm = FALSE) rowSums(X == 1, na.rm = na.rm)
rowOnes(mat)
#[1] 2 4 2 3
sum(rowOnes(mat) >= 3)
#[1] 2
Теперь *apply
указанная выше стратегия для списка матриц.
sapply(files, function(x) sum(rowOnes(x) >= 3))