Esiste una funzione per ottenere un indice (numero di riga e numero di colonna) per una matrice?Valore indice per matrice in R?
Supponiamo che ho un semplice matrice:
a <- matrix(1:50, nrow=5)
C'è un modo semplice per tornare qualcosa di simile a C (3, 5) per il numero "23", per esempio? In questo caso, ad esempio which(a==23)
ritorna appena 23.
Questo sembra funzionare, ma sono sicuro che ci sia un modo migliore:
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