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),]

代码效果:

 

posted @   小鲨鱼2018  阅读(53530)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示