有没有一种方法可以获取矩阵的索引(行号和列号)?假设我有一个简单的矩阵:
a <- matrix(1:50, nrow=5)
有没有一种简单的方法来获取类似于数字"23"的c(3, 5)这样的返回值? 在这种情况下,使用which(a==23)
只会返回23。
这个方法似乎可以工作,但我相信有更好的方式:
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