Index des ersten Vorkommens eines Werts in jeder Spalte einer Matrix abrufen

Wenn ich einen einzelnen Vektor habe, kann ich das erste Vorkommen erhalten, das unter einem Wert liegt:

test <- c(0.5,0.8,0.1,0.08,0.06,0.04)
which(test<0.1)[1]    

das gibt richtig die Antwort als4. Wie erhalte ich jedoch das erste Vorkommen in jeder Spalte einer Matrix, z. B. das erste Vorkommen unter 5 in der folgenden Matrix mit 2 Spalten:

test2 <- matrix(c(5,8,3,4,7,5,6,2),ncol=2)

Verwendenapply mitwhich gibt eine Liste zurück:

> apply(test2<5,2,which)
[[1]]
[1] 3 4

[[2]]
[1] 4

während dem Benutzenapply mitwhich.min kehrt zurück1 für alle Spalten:

> apply(test2<5,2,which.min)
[1] 1 1

während, was ich will, sollte gerade zurückkehren[1] 3 4 - Vermisse ich etwas Offensichtliches?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage