文章目录
- @[toc]
- sort
- rank
- order
- arrange
R语言常用排序函数有内置函数sort,rank,order,还有dplyr包内函数arrange。
#生成虚拟数据
data <- data.frame(
score = c(1800,1500,2000,2500,2500,NA),
row.names = c('杭州','成都','南京','上海','北京','NA')
)
data
score
杭州 1800
成都 1500
南京 2000
上海 2500
北京 2500
NA NA
sort
sort函数对数据排序返回升序向量结果。
参数:
- x:要传入的数据
- decreasing:默认为FALSE,设置为TRUE则返回从大到小降序排列结果
- na.last:值为NA,移除缺失值NA。值为TRUE,缺失值排在最后。值为FALSE,缺失值排在最前面
sort(data$score) [1] 1500 1800 2000 2500 2500 sort(data$score,decreasing = TRUE) [1] 2500 2500 2000 1800 1500 sort(data$score,na.last = NA) [1] 1500 1800 2000 2500 2500 sort(data$score,na.last = TRUE) [1] 1500 1800 2000 2500 2500 NA sort(data$score,na.last = FALSE) [1] NA 1500 1800 2000 2500 2500rank
rank为秩排序函数,常用于非参数检验过程。用数据的秩排序代替值的排序。结果返回数据的秩。
参数:
- x:传入的数据
- na.last:同sort
- ties.method:设定相同数据如何排秩。可选值:
- average:取平均
- first:先出现者排先
- last:后出现者排先
- random:随机
- min:统一为最小秩
- max:统一为最大秩
data
score
杭州 1800
成都 1500
南京 2000
上海 2500
北京 2500
NA NA
rank(data$score,na.last = NA)
[1] 2.0 1.0 3.0 4.5 4.5
rank(data$score,na.last = NA,ties.method = 'first')
[1] 2 1 3 4 5
rank(data$score,na.last = NA,ties.method = 'last')
[1] 2 1 3 5 4
rank(data$score,na.last = NA,ties.method = 'random')
[1] 2 1 3 4 5
rank(data$score,na.last = NA,ties.method = 'min')
[1] 2 1 3 4 4
rank(data$score,na.last = NA,ties.method = 'max')
[1] 2 1 3 5 5
order
order对数据的向量下标排序,返回的是向量下标排序结果
参数:
- x:传入的数据
- na.last:同sort
- decreasing:同sort
order(data,na.last = NA) [1] 2 1 3 4 5arrange
arrange可以进行多次排序。配合desc函数实现降序排列。缺失值排在最后面
library(dplyr) library(tibble) data <- rownames_to_column(data) data rowname score 1 杭州 1800 2 成都 1500 3 南京 2000 4 上海 2500 5 北京 2500 6 NA NA arrange(data) rowname score 1 杭州 1800 2 成都 1500 3 南京 2000 4 上海 2500 5 北京 2500 6 NA NA arrange(data,desc(data$score)) rowname score 1 上海 2500 2 北京 2500 3 南京 2000 4 杭州 1800 5 成都 1500 6 NA NA
R
语
言
小
白
速
通
R语言小白速通
R语言小白速通
懂
点
R
语
言
懂点R语言
懂点R语言
欢
迎
分
享
收
藏
关
注
欢迎分享收藏关注
欢迎分享收藏关注



