Простой apply
по строке сделает это.Я подставляю data.frame, используя grep
, чтобы получить столбцы, начинающиеся с "sp"
.
pine <- apply(sp[grep("^sp", names(sp))], 1, function(x) sum(x == "pine"))
pine
#[1] 0 1 1
Data.
sp <-
structure(list(Join = 1:3, p1 = 0:2, sp1 = structure(c(1L, 2L,
2L), .Label = c("0", "pine"), class = "factor"), p2 = c(0L, 0L,
0L), sp2 = c(0L, 0L, 0L), p3 = c(0L, 1L, 0L), sp3 = structure(c(1L,
2L, 1L), .Label = c("0", "Aspen"), class = "factor")), class = "data.frame", row.names = c(NA,
-3L))