我有一个类似于以下内容的数据框
foo <- read.table(text="1 VA
1 PE
1 CE
4 PE
3 PE
3 CE
2 PE")
现在我想先根据第一行对数据帧进行排序,我可以通过
来完成foo[order(foo$V1),]
给出了结果:
V1 V2
1 1 VA
2 1 PE
3 1 CE
7 2 PE
5 3 PE
6 3 CE
4 4 PE
但我现在的问题是我想保持V1中的排序结果相同,我想根据第二列对其进行排序。结果应该类似于
V1 V2
1 1 CE
2 1 PE
3 1 VA
7 2 PE
5 3 CE
6 3 PE
4 4 PE
其中第一列不是第二列,V2也按类似于
的顺序排序sort -k1 -k2
in unix
答案 0 :(得分:1)
您可以将包dplyr
与arrange
一样使用
library(dplyr)
arrange(foo, V1,V2) # sort according to V1 first, then V2
V1 V2
1 1 CE
2 1 PE
3 1 VA
4 2 PE
5 3 CE
6 3 PE
7 4 PE