vectores una traza studio seleccionar operaciones matriz matrices listas entre data concatenar columnas r matrix filtering

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