Uzyskanie indeksu pierwszego wystąpienia wartości w każdej kolumnie macierzy

Jeśli mam pojedynczy wektor, mogę uzyskać pierwsze wystąpienie, które jest poniżej wartości:

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

który poprawnie podaje odpowiedź jako4. Jak jednak uzyskać pierwsze wystąpienie w każdej kolumnie macierzy, takie jak pierwsze wystąpienie poniżej 5 w następującej macierzy 2 kolumn:

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

Za pomocąapply zwhich zwraca listę:

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

[[2]]
[1] 4

podczas używaniaapply zwhich.min zwraca1 dla wszystkich kolumn:

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

podczas gdy to, co chcę, powinno powrócić[1] 3 4 - Czy brakuje mi czegoś oczywistego?

questionAnswers(4)

yourAnswerToTheQuestion