R语言中排序有几个基本函数:sort()、rank()、order()、arrange()

一、总结

sort()函数是对向量进行从小到大的排序

rank()函数返回的是对向量中每个数值对应的秩

order()函数返回的值表示位置,依次对应的是向量的最小值、次小值、第三小值……最大值等(位置索引)

arrange()函数(需加载dplyr包)针对数据框,返回基于某列排序后的数据框,方便多重依据排序

二、具体用法

1.sort

data

sort(data) #2 3 5 6 8 9sort(data, decreasing= TRUE) # 9 8 6 5 3 2

2.order

data

d

x=c(13,45,13,45,13),

y=c(3,1,2,2,3),

t=c(56,7,68,3,1))

d[order(d$x,d$y),]# x升序 y升序/*x y t

3 13 2 68

1 13 3 56

5 13 3 1

2 45 1 7

4 45 2 3*/d[order(-d$x,d$y),]# x降序 y升序/*x y t

2 45 1 7

4 45 2 3

3 13 2 68

1 13 3 56

5 13 3 1*/

3.rank

# rank函数

rank(x, na.last= TRUE, ties.method = c("average","first","random","max","min"))

data

rank(data) #3 4 5 1 6 2

(1) rank 函数是对一维度数组、向量x 进行排序。若x 为数值,则按照从小到大的原则进行排序。

P.S. 实际情况中,存在大量用二维表格描述的数据,比如行表示地点列表示时间的统计表,若进行排序,应先通过字符拼接的手段将表格转化为一维的向量,否则结果将失去意义。

(2) rank 将数据分为确定值与缺失值两种。缺失值可按先后排在确定值之间(na.last = FALSE), 也可排在之后(na.last = TRUE), 也可保留,不参与排序(na.last = "keep")。

(3) "first" 是最基本的排序,小数在前大数在后,相同元素先者在前后者在后。

"max" 是相同元素都取该组中最好的水平,即通常所讲的并列排序。

"min" 是相同元素都取该组中最差的水平,可以增大序列的等级差异。

"average" 是相同元素都取该组中的平均水平,该水平可能是个小数。

"random" 是相同元素随机编排次序,避免了“先到先得”,“权重”优于“先后顺序”的机制增大了随机的程度。

4.arrange(dplyr)

library(dplyr)

arrange(mtcars, cyl, disp) # 按 cyl+disp 列进行升序排列

mtcars[order(mtcars$cyl,mtcars$disp),]# 同上/*mpg cyl disp hp drat wt qsec vs am gear carb

1 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1

2 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2

3 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1

4 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1

5 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2

6 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1*/head(arrange(mtcars,cyl,desc(disp)))/*mpg cyl disp hp drat wt qsec vs am gear carb

1 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2

2 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2

3 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2

4 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2

5 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1

6 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1*/

END 2018-11-26 11:48:18

r语言rank降序_R语言学习笔记:sort、rank、order、arrange排序函数相关推荐

  1. r语言rank降序_R语言速成之第一章 向量(编辑,排序,10个基本函数)

    1.4向量的编辑 1.4.1扩展向量c() vc vc vc vc vc 注意:单独append(vc,num)不会改变vc的值 1.4.2改变元素的值直接引用后赋值 vc vc[1] vc[1:3] ...

  2. r语言rank降序_R语言rank函数详细解析

    1.rank函数是什么 rank相关文档[1]可以译为"返回原数组(?)中各个元素排序(?)后的秩次(?)",表面上看确实可以得到次序,但对数组.排序.秩次交待不清. 2.rank ...

  3. java list逆序_Java的数组和list升序,降序,逆序函数Collections.sort和Arrays.sort的使用...

    list升序,降序,逆序 Listlist =new ArrayList(); //如果list是 5 7 2 6 8 1 4 1.升序: Collections.sort(list) //list: ...

  4. OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC

    OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...

  5. PgSQL——学习笔记八: ORDER BY 子句:排序 GROUP BY 语句:分组

    PostgreSQL ORDER BY 语句:对一列或多列数据进行升序(ASC)或降序(DESC)排列. 在 PostgreSQL 中,ORDER BY 用于对一列或者多列数据进行升序(ASC)或者降 ...

  6. OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十

    OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...

  7. Hadoop学习笔记—11.MapReduce中的排序和分组

    Hadoop学习笔记-11.MapReduce中的排序和分组 一.写在之前的 1.1 回顾Map阶段四大步骤 首先,我们回顾一下在MapReduce中,排序和分组在哪里被执行: 从上图中可以清楚地看出 ...

  8. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

  9. Python学习笔记---------廖雪峰(基础和函数)

    Python学习笔记---------廖雪峰(基础和函数)

最新文章

  1. MySQL-MMM实现MySQL高可用
  2. 4. Brackets 前端编辑器试用
  3. netflix ribbon概述
  4. nylgacm_1057_寻找最大数(三)
  5. Resnet的pytorch官方实现代码解读
  6. 09 numpy 聚合函数 - 极值,方差,标准差
  7. redis之五大数据类型
  8. 洛谷 4115 Qtree4——链分治
  9. 计算机一级怎么描述,计算机一级「关于RGB正确的描述的是」相关单选题
  10. 昆仑通态9针通讯口定义_昆仑通态触摸屏与常见PLC的连接方法(3)——OmronHostLink...
  11. request.form 和 Request.QueryString 区别
  12. 百度离线地图瓦片图制作
  13. python学习笔记——取矩阵的上三角或下三角元素
  14. 使用Jacob将Excel转换PDF问题总结
  15. RecyclerView实现吸顶效果---ItemDecoration
  16. 人生短暂,持之以恒地做一件事情就会成功(每当烦躁心急如焚的时候就读读这篇文章吧)--转自孵化恐龙蛋
  17. SRM 405(1-250pt, 1-500pt)
  18. java opencv 物体检测_OpenCV.物体识别
  19. 请假工资扣费总额计算机公式,病假扣款计算公式excel
  20. 为提高 SDLC 安全,GitHub 发布新功能|GitHub Universe 2022

热门文章

  1. Kubernetes Service的headless类型
  2. Redis应用场景-计数器
  3. AVPlayer自定制视频播放器(2)——耳机线控、中断以及AVAudioSession的使用
  4. 实操汇编原理cmp指令 对比sub与cmp指令
  5. 测试用例编写方法—等价类
  6. Unity加载C语言32dll,Unity3d 载入 C++/CLI (托管方式c++) 的动态库(DLL)
  7. python像数常用函数_ubuntukylin基础 python3 安装IDLE
  8. 《神一样的产品经理》读书笔记
  9. 使用STC15F104W产生PWM脉冲
  10. jmockit教程_JMockit常用操作