1. 程式人生 > >R 語言中,資料框依據不同列進行排序

R 語言中,資料框依據不同列進行排序

在R中處理資料框型別的資料時候,經常會遇到根據資料框中某一列來對整個資料框進行排序的情況。

同時,當主列排序完成之後,會有相同級別的多行資料存在,這時可能就需要依照另外一列進行次級排序。

下面的程式碼通過 order() 函式返回個行所對應的順序,同時該函式可以接受多個引數進行排序,第一個引數是主排序的依據列,第二個是次級排序依據列,依次類推。

> x <- c(3,5,4,6,3,2,1,4,3,2)
> y <- c('c','c','d','b','a','b','d','e','e','d')
> z <- c(1,2,3,4,5,6,7,8,9,10)
> testData <- data.frame(x=x,y=y,z=z)
> o <- order(testData[,"x"],TestData[,"y"])
> testData[o,]
   x y  z
7  1 d  7
6  2 b  6
10 2 d 10
5  3 a  5
1  3 c  1
9  3 e  9
3  4 d  3
8  4 e  8
2  5 c  2
4  6 b  4
>