22
Czy istnieje funkcja do uzyskania indeksu (numer wiersza i numer kolumny) dla macierzy?Wartość indeksu dla macierzy w R?
Załóżmy, że mam proste matrycy:
a <- matrix(1:50, nrow=5)
Czy istnieje prosty sposób, aby uzyskać z powrotem coś jak C (3, 5) numer „23”, na przykład? W tym przypadku, mówiąc which(a==23)
prostu zwraca 23.
To wydaje się działać, ale jestem pewien, że istnieje lepszy sposób:
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