将data.frame排序到列

时间:2014-07-13 10:47:01

标签: r sorting dataframe

我有一个关于函数order()的使用的问题,我有以下data.frame并且我使用以下语句但是我无法对列进行排序,并且找不到错误。我希望此列Tag_PHASE从最低到最高排序。

    Tag_PHASE   Num_EPC
1   101.0   1
2   126.0   1
3   70.0    1
4   73.0    1
5   78.0    3
6   81.0    1
7   84.0    1
8   87.0    1
9   90.0    1
10  92.0    3

a<-DF_TAG_PHASE_EPC_counter[order(DF_TAG_PHASE_EPC_counter$Tag_PHASE), ]

1 个答案:

答案 0 :(得分:1)

这是一次尝试:

DF_TAG_PHASE_EPC_counter <- 
   data.frame(Tag_PHASE = runif(10)*100, Num_EPC = sample(c(1,3), 10,prob = c(.7,.3), replace = T))
DF_TAG_PHASE_EPC_counter

DF_TAG_PHASE_EPC_counter[order(DF_TAG_PHASE_EPC_counter$Tag_PHASE),]

注意:您要将结果分配给:

a <- DF_TAG_PHASE_EPC_counter[order(DF_TAG_PHASE_EPC_counter$Tag_PHASE),]

因此,要查看结果,您必须打印

a

这是一种更简单的方法:

library(data.table)
DT <- setDT(DF_TAG_PHASE_EPC_counter)
DT[order(Tag_PHASE)]

了解更多here