R語言中order函數的用法,對數據框進行排序


1、order函數用於返回向量大小順序的秩。

     測試:     

a <- c(3,5,2,0) order(a)

     代碼效果:

    

 

 

 

b <- c(200,600,800,400,100) order(b)

   代碼效果:

 

 

 可見 order函數默認用於返回向量從下到大排序在原始向量中的位次(秩)。

 

2、加參數decreasing = T,降序排列

  測試:

a <- c(3,5,2,0) order(a,decreasing = T)

  代碼效果:

 

 

b <- c(200,600,800,400,100) order(b,decreasing = T)

  代碼效果:

 

 

3、利用以上order函數的性質可以實現對數據框的排序

    創建測試數據框:

a <- c(3,7,5,2,9) b <- c(9,3,7,8,1) c <- c(3,7,8,2,5) d <- data.frame(a,b,c) d

代碼效果:

 

 

利用order函數對數據框的任意一列進行排序:

order(d$a)

代碼效果:

 

 實現了按照第一列數據大小排序的位次。

 

按照數據框的a列進行排序:

d[order(d$a),]

代碼效果:

 

 

按照數據框的b列進行排序:

d[order(d$b),]

代碼效果:

 

 

加decreasing=T 選項,實現a列降序排列:

d[order(d$a,decreasing = T),]

代碼效果:

 

 

實現b列降序排列:

d[order(d$b,decreasing = T),]

代碼效果:

 

 

4、對數據框的多列數據同時進行排序

   創建測試數據:

a <- c(3,3,3,2,9) b <- c(9,3,7,8,1) c <- c(3,7,8,2,5) d <- data.frame(a,b,c) d

代碼效果:

 

 

利用order函數對d的a列進行排序:

order(d$a)

代碼效果:

 

 

按照a列進行排序:

d[order(d$a),]

代碼效果:

 

 

發現排序的a列有相同的數字3,實現按照a列排序后,繼續按照b列進行排序:

d[order(d$a,d$b),]

代碼效果:

 

 

實現a列和b列降序排列:

d[order(-d$a,-d$b),]

代碼效果:

 

 

實現a列升序 b列降序排列:

d[order(d$a,-d$b),]

代碼效果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM