是否有获取矩阵索引(行号和列号)的函数?
假设我有一个简单的矩阵:
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
最佳答案
刚刚看了which()
的帮助发布此内容并找到答案后:arr.ind 参数。
which(a==23, arr.ind=TRUE)
row col
[1,] 3 5
关于r - R中矩阵的索引值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1829429/