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

Max*_*ian 6 r

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

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

示例数据例如:

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

适用于一栏:

CustomData[order(CustomData$Value1, decreasing=FALSE), ]
Run Code Online (Sandbox Code Playgroud)

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

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

CustomData[do.call(order, as.list(CustomData)),] 
Run Code Online (Sandbox Code Playgroud)

chu*_*pvl 12

CD.sorted <- apply(CustomData,2,sort,decreasing=F)
Run Code Online (Sandbox Code Playgroud)

  • 要保持数据帧结构,您可以使用:`data.frame(lapply(CustomData,sort,decresing=F))` (2认同)

use*_*849 8

使用 do.call 速度要快得多。

对于升序。

CustomData[do.call(order, CustomData),]
Run Code Online (Sandbox Code Playgroud)

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

CustomData[do.call(order, c(CustomData, list(decreasing=TRUE))),]
Run Code Online (Sandbox Code Playgroud)