转|R中排序函数总结:sort,order,rank,arrange,reorder

转:https://blog.csdn.net/kelanj/article/details/80945540

总结(区别):

1、sort是直接对向量排序,返回原数值;

2、order先对数值排序,然后返回排序后各数值的索引;

3、rank返回原数据各项排名;

4、arrange是plyr包中的,可对数据框按列排序,仍返回数据框;

5、reorder用在绘图中,比如ggplot中绘条形图,可使x轴按y轴数值大小排序;比如横轴为age,纵轴为money,可写为:aes(x=reorder(age,money),y=money),即按money对age排序

    详情且看下面的实验数据(可自己尝试,加深理解!)

    选用两组实验数据:数值型m,字符型n

简单的实验数据:

m数值型向量1,4,7,2,n字符型向量a,c,d,b;
简单的代码:

    m<-c(1,4,7,2)
    n<-c('a','c','d','b')

1.Sort的用法

sort(m)

## [1] 1 2 4 7

sort(n)

## [1] "a" "b" "c" "d"

2.Rank的用法

rank(m)

## [1] 1 3 4 2

3.order的用法

order(m)

## [1] 1 4 2 3

order(n)

## [1] 1 4 2 3

4.arrange的用法

    #首先构造数据框mn(第一列为m,第二列为n)
    mn<-as.data.frame(cbind(m,n))
     
    library(plyr)
    #按照m列排序
    arrange(mn,m)

    ##   m n
    ## 1 1 a
    ## 2 2 b
    ## 3 4 c
    ## 4 7 d

    #按照n列排序
    arrange(mn,n)

    ##   m n
    ## 1 1 a
    ## 2 2 b
    ## 3 4 c
    ## 4 7 d

5.Reorder的用法

    mn$n<-factor(mn$n)
    library(ggplot2)
    ggplot(mn,aes(x=reorder(n,m),y=m))+
      geom_bar(stat = "identity",width = 0.8)

现在考完R语言了,总结一下!

好巧,考试的时候遇到了这几个排序的区别,还好当时准备写这篇blog(虽然不完整)哈哈哈!!幸运!!不过,如果我之前总结完,考试的时候就不用犹豫那么久了,,还是有点后悔的!这件事告诉我,,老师真的啥都可能考,,不管多细!!
---------------------  
作者:还是小小白  
来源:CSDN  
原文:https://blog.csdn.net/kelanj/article/details/80945540  
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值