r - 如何按所有列对矩阵进行排序

标签 r sorting

假设我有

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/

相关文章:

r - 从 R 中的列表导出单独的文本文件

python - 从 python 中的目录读取文件并对它们进行排序

java - 获取这些键的值相等的键列表

java - JTable 和排序

r - 导入/读取数据时处理空白值

r - 来自 dplyr 的子集和过滤器之间的区别

r - 为什么 stat_summary 仅当数字位于 y 而不是 x 时才产生误差线?

带有 HTML 标签的 R Shiny 数据表

python - 如何在 MapReduce 中查找前 10 个元素

sorting - 根据 map 中的值对 map 列表进行排序