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?