我需要创建一个函数,它将根据矩阵中的值重新排列任何方阵。
所以如果我有这样的矩阵:
M <- matrix(1:16, ncol = 4)
M
#> [,1] [,2] [,3] [,4]
#> [1,] 1 5 9 13
#> [2,] 2 6 10 14
#> [3,] 3 7 11 15
#> [4,] 4 8 12 16
Run Code Online (Sandbox Code Playgroud)
重新排列后,它需要如下所示:
[,1] [,2] [,3] [,4]
[1,] 1 3 6 10
[2,] 2 5 9 13
[3,] 4 8 12 15
[4,] 7 11 14 16
Run Code Online (Sandbox Code Playgroud)
所以它是从最低(左上角)到最高(右下角)排序的,但数字是按对角线排序的(这是正确的词吗?)而不是按行或列排序。
我知道如何“手动”执行此操作,但我无法弄清楚此重新排列所依据的任何规则。