max.col mit NA Entfernung

Ich suche nach den Spalten der Matrixzeilenmaxima, während NAs ignoriert werden. Z.B.

set.seed(1)
a <- matrix(runif(15), ncol=3)
a[a<.3] <- NA
a[5,] <- NA

Das ist

> 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

Die Zeilenmaxima, die NAs ignorieren, können mit @ ermittelt werdemax:

> apply(a, 1, max, na.rm=T)
[1] 0.898 0.945 0.687 0.908  -Inf

Ich suche nach den Spaltenpositionen dieser Maxima, abermax.col funktioniert nur für Zeilen ohne NAs.

> max.col(a, ties.method="first")
[1] NA NA  3  1 NA

Wie kann ich die Spalten der (ersten) Maximierer für die Zeilen mit einigen nicht fehlenden Werten finden? Das heißt, so etwas wie:

[1]  2  2  3  1 NA

Antworten auf die Frage(2)

Ihre Antwort auf die Frage