假设我有
arr = 2 1 3
1 2 3
1 1 2
我怎样才能把它分类到下面?
arr = 1 1 2
1 2 3
2 1 3
也就是说,首先按第一列,然后按第二列等。
最佳答案
这会起作用:
arr[do.call(order, lapply(1:NCOL(arr), function(i) arr[, i])), ]
它正在做的是:
arr[order(arr[, 1], arr[, 2], arr[ , 3]), ]
除了它允许矩阵中有任意数量的列。
关于r - 如何按所有列对矩阵进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10508352/