max.col с удалением NA
Я ищу, чтобы найти столбцы матрицы строк-максимумов, игнорируя при этом NA. Например.,
set.seed(1)
a <- matrix(runif(15), ncol=3)
a[a<.3] <- NA
a[5,] <- NA
То есть:
> a
[,1] [,2] [,3]
[1,] NA 0.898 NA
[2,] 0.372 0.945 NA
[3,] 0.573 0.661 0.687
[4,] 0.908 0.629 0.384
[5,] NA NA NA
Максимумы строк, игнорирующие NA, могут быть получены с помощьюmax
:
> apply(a, 1, max, na.rm=T)
[1] 0.898 0.945 0.687 0.908 -Inf
Я ищу столбцы этих максимумов, ноmax.col
работает только для строк без каких-либо NA.
> max.col(a, ties.method="first")
[1] NA NA 3 1 NA
Как я могу найти столбцы (первых) максимизаторов для строк с некоторыми не пропущенными значениями? Т.е. что-то вроде:
[1] 2 2 3 1 NA