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),]
代碼效果: