我有一个类似下面的矩阵,但有n
行
set.seed(123)
mt <- replicate(5, sample(1:3, 4, replace = TRUE))
mt
#> [,1] [,2] [,3] [,4] [,5]
#> [1,] 3 3 3 1 3
#> [2,] 3 2 1 2 3
#> [3,] 3 2 2 3 1
#> [4,] 2 2 2 1 1
为了逐行排序,我将这段代码与order
函数一起使用,类似于here:
od2 <- order(mt[1, ], mt[2, ], mt[3, ], mt[4, ])
mt[, od2]
#> [,1] [,2] [,3] [,4] [,5]
#> [1,] 1 3 3 3 3
#> [2,] 2 1 2 3 3
#> [3,] 3 2 2 1 3
#> [4,] 1 2 2 1 2
有没有办法将此代码修改为n
行?我的第二个版本的答案给出了comment分,但我没有成功.我对do.call
的功能不熟悉.