第四章:数据操作Ⅰ 第八节:数据排序

使用sort()与order()函数可以对数据进行排序,sort()函数直接对给定数据进行排序,order()函数返回排序后数据的原始位置

一、sort()函数

例如:

R 复制代码
> x<-c(20,11,33,50,47)
> sort(x)
[1] 11 20 33 47 50
> sort(x,decreasing = TRUE)
[1] 50 47 33 20 11

二、order()函数

Order()函数返回排序以后的各元素数据在原始数据组中的位置索引

例如

R 复制代码
> x<-c(20,11,33,50,47)
> order(x)
[1] 2 1 3 5 4

若想实现降序,则依然采用decreasing参数进行

R 复制代码
> x<-c(20,11,33,50,47)
> order(x,decreasing = TRUE)
[1] 4 5 3 1 2

我们利用order()函数返回元素位置这一特点,可以使用其对数据框进行排序,以鸢尾花数据集为例子

R 复制代码
> iris[order(iris$Sepal.Length),]
    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
14           4.3         3.0          1.1         0.1     setosa
9            4.4         2.9          1.4         0.2     setosa
39           4.4         3.0          1.3         0.2     setosa
43           4.4         3.2          1.3         0.2     setosa

同时,order也支持双参数排序

例如

R 复制代码
> iris[order(iris$Sepal.Length,iris$Petal.Length),]
    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
14           4.3         3.0          1.1         0.1     setosa
39           4.4         3.0          1.3         0.2     setosa
43           4.4         3.2          1.3         0.2     setosa
9            4.4         2.9          1.4         0.2     setosa
42           4.5         2.3          1.3         0.3     setosa
23           4.6         3.6          1.0         0.2     setosa

先根据Sepal.Length排序,再根据Petal.Length排序

相关推荐
变与不变80613 小时前
引用类型、内存原理与对象
开发语言·前端·javascript
wuyk55513 小时前
从零吃透 MQTT 通信|第 5 章 MQTT 心跳保活机制深度优化,断线检测与智能自动重连
c语言·开发语言·stm32·学习
weixin_4407305013 小时前
socket解决多次输入问题-大数据接收问题-模块动态导入
java·开发语言·servlet
励志不掉头发的内向程序员14 小时前
【LibreCAD 2D架构】从鼠标点击到图形创建:RS_ActionDrawLine交互流程与状态机解析
开发语言·c++·qt·学习·系统架构·计算机外设·交互
www_aiyuanma_vip14 小时前
Java个人博客系统
java·开发语言
leoZ23114 小时前
第 7 篇:进阶——校验、联动、列表页
开发语言·前端·javascript·vue.js·人工智能·目标检测·ecmascript
luj_176814 小时前
虚实交融中的真实人物塑造
c语言·开发语言·网络·经验分享·算法
haolin123.15 小时前
STL vector底层揭秘:从构造到迭代器失效
开发语言·c++·算法
大模型码小白15 小时前
ChatGPT 的回答也能被结构化抓取?AI Bot Scraper 对比测评
服务器·开发语言·数据库·人工智能·spring·chatgpt
尘中远15 小时前
给C++工业软件搭建 Agent
开发语言·c++·qt·ai·agent