按降序排列data.frame的所有列

时间:2013-08-20 17:20:17

标签: r

我现在正在摆弄这一段时间,但找不到合理的解决办法。

我想按降序排序data.frame的所有列。

示例数据:

CustomData <- data.frame(Value1=rnorm(100,1,2), Value2=rnorm(100,2,3),
                         Value3=rexp(100,5), Value4=rexp(100,2))

适用于一栏:

CustomData[order(CustomData$Value1, decreasing=FALSE), ]

如何以合理的方式按递减/递增顺序对所有列数据进行排序? THX。

我也在其他地方尝试了类似的东西,但是没有按照规定工作。

CustomData[do.call(order, as.list(CustomData)),] 

2 个答案:

答案 0 :(得分:12)

CD.sorted <- apply(CustomData,2,sort,decreasing=F)

答案 1 :(得分:0)

使用do.call更快。

对于升序。

CustomData[do.call(order, CustomData),]

对于降序,语法要复杂一些,因为我们必须传递'decreasing'参数。

CustomData[do.call(order, c(CustomData, list(decreasing=TRUE))),]
相关问题