我有一个如下所示的数据框
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
在unix中
最佳答案
您可以将包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
关于r - 首先根据 r 中的一列对 dataframe 进行排序,然后根据另一列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29669861/