按R中的所有列对数据帧进行排序

按R中的所有列对数据帧进行排序,r,R,对于具有任意列数的任意矩阵或数据帧x,我希望执行以下操作: x=x[order(x[,1], x[,2], ..., x[,ncol(x)]),] 也就是说,我想按第一列排序,然后按第二列排序,…,然后按最后一列排序。关于排序的扩展讨论似乎没有包含解决方案。这是我的解决方案,它违反了第106条: 这似乎很好,但没有更干净的方法吗 针对重复数据消除的编辑澄清:至少对我来说,这个问题在一个重要方面与its不同。上一个问题涉及这样一种情况,即明确声明要按其排序的列。在我的例子中,我希望自动选择所有列

对于具有任意列数的任意矩阵或数据帧x,我希望执行以下操作:

x=x[order(x[,1], x[,2], ..., x[,ncol(x)]),]
也就是说,我想按第一列排序,然后按第二列排序,…,然后按最后一列排序。关于排序的扩展讨论似乎没有包含解决方案。这是我的解决方案,它违反了第106条:

这似乎很好,但没有更干净的方法吗

针对重复数据消除的编辑澄清:至少对我来说,这个问题在一个重要方面与its不同。上一个问题涉及这样一种情况,即明确声明要按其排序的列。在我的例子中,我希望自动选择所有列,而不是在ordering命令中键入每个列的名称。下面的答案解决了我的问题,不同于前面问题的任何答案

x[do.call(order, x), ]
尝试执行

example(order)
在R提示下

先前在这里提出的问题:

尝试执行

example(order)
在R提示下

先前在这里提出的问题:


美好的根据问题标题给予解决方案评分,但请注意,如果x是矩阵,则按照OP@zkurtz如果输入是矩阵,请使用as.data.frame.Nice进行转换!根据问题标题给予解决方案评分,但请注意,如果x是矩阵,则按照OP@zkurtz如果输入是一个矩阵,那么使用as.data.frame.convert似乎与代码检查有关。似乎是关于代码审查。