我有一个像这样的矩阵:
mat<-matrix(c(10,45,2,15,3,98,1,7,13),nrow = 3)
mat
[,1] [,2] [,3]
[1,] 10 15 1
[2,] 45 3 7
[3,] 2 98 13
Run Code Online (Sandbox Code Playgroud)
我想得到有序值的索引,我们可以得到order(x, arr.idx = T)但应用于矩阵.那是:
[,1] [,2]
1 3
3 1
2 2
2 3
1 1
3 3
1 2
2 1
3 2
Run Code Online (Sandbox Code Playgroud)
它有快速的方法吗?
先感谢您
您可以使用
arrayInd(order(mat), dim(mat), dimnames(mat))
# [,1] [,2]
# [1,] 1 3
# [2,] 3 1
# [3,] 2 2
# [4,] 2 3
# [5,] 1 1
# [6,] 3 3
# [7,] 1 2
# [8,] 2 1
# [9,] 3 2
Run Code Online (Sandbox Code Playgroud)