Obtención del índice de la primera aparición de un valor en cada columna de una matriz

Si tengo un solo vector, puedo obtener la primera aparición que está por debajo de un valor:

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

lo que correctamente da la respuesta como4. Sin embargo, ¿cómo obtengo la primera aparición dentro de cada columna de una matriz, como la siguiente aparición por debajo de 5 en la siguiente matriz de 2 columnas?

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

Utilizandoapply conwhich devuelve una lista:

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

[[2]]
[1] 4

durante el usoapply conwhich.min devoluciones1 para todas las columnas:

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

mientras que lo que quiero debería volver[1] 3 4 - ¿Me estoy perdiendo algo obvio?

Respuestas a la pregunta(4)

Su respuesta a la pregunta