una - Valor del índice para la matriz en R?
seleccionar columnas en r (1)
Acabo de mirar la ayuda para la which()
después de publicar esto y encontré la respuesta: el parámetro arr.ind.
which(a==23, arr.ind=TRUE)
row col
[1,] 3 5
¿Hay una función para obtener un índice (número de fila y número de columna) para una matriz?
Supongamos que tengo una matriz simple:
a <- matrix(1:50, nrow=5)
¿Hay alguna manera fácil de recuperar algo como c (3, 5) para el número "23", por ejemplo? En este caso, decir which(a==23)
simplemente devuelve 23.
Esto parece funcionar, pero estoy seguro de que hay una mejor manera:
matrix.index <- function(a, value) {
idx <- which(data.frame(a)==value)
col.num <- ceiling(idx/nrow(a))
row.num <- idx - (col.num-1) * nrow(a)
return(c(row.num, col.num))
}
> matrix.index(a, 23)
[1] 3 5
> matrix.index(a, 50)
[1] 5 10