22
Matris için bir dizin (satır numarası ve sütun numarası) almak için bir işlev var mı?R'de matris için dizin değeri?
ben basit bir matris olduğunu varsayalım:
a <- matrix(1:50, nrow=5)
geri c gibi bir şey elde etmenin kolay bir yolu var mı (3, 5) örneğin "23" sayısı için? Bu durumda, which(a==23)
diyerek sadece döner 23.
Bu iş gibi görünüyor ama daha iyi bir yolu var eminim: Sadece bu yazdıktan sonra which()
için yardım baktı
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