R 語言中,資料框依據不同列進行排序
阿新 • • 發佈:2018-12-19
在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 >