如何通过dataframe中的row.names进行排序

时间:2014-08-08 00:09:53

标签: r

这是相当棘手的,并且它似乎不需要相同的方法来排序数据帧中的典型列。我有一些看起来像这样的东西: enter image description here

并希望它由row.names订购。

我尝试过的事情:

dataframename[ rownames(dataframename) , ]似乎不起作用,dataframename[ order(rownames(dataframename) , ]也没有,事实上我得到的后一个选项是1,10,100,12,13,...,2,20的排序, 21,

来自arrange库的plyr可以解决此问题吗?

2 个答案:

答案 0 :(得分:3)

我以前遇到过这个问题。这是我解决它的方式。使用基础R中的一些iris样本数据

> dat <- iris[sample(nrow(iris), 10), ]
> rn <- rownames(dat)
> dat[order(as.numeric(rn)), ]

答案 1 :(得分:0)

按列排序可以简单如下:

 dataframename[ order(dataframename$row.name) , ]

确认那是"row.name" == names(dataframename)[1]。请检查此conditoin是否属实。目前,您只提供了一张照片,以便提供dput( dataframename[ 1:22, ])的结果更有帮助