R中order() 与 rank()的差别

为这个曾头疼过一阵,总是将order()与rank()搞混淆。

先看下结果:

test <- c(2,4,3,1)
order(test)
rank(test)

order的运行结果为:4 1 3 2
rank的运行结果为:2 4 3 1

以下解释差别:
order是将结果按值的大小一个个抽取出来,如先抽第·4·个元素1,再抽第·1·个元素2,再抽第·3·个元素3,再抽第·2·个元素4,将抽取的元素在矢量中的位置表达出来,即结果 4 1 3 2
rank是对矢量进行整体排序,元素2排第 2 ,元素4排第 4 ,元素3排第 3 ,元素1排第 1 ,整体记录下来,即结果2 4 3 1

最后谈谈order的用法:
order()的核心是可以记录元素顺序抽取的的次序,最直接的用法就是v[order(v)],会对元素(numberic、character等)进行升序排序

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 分析函数,也称为窗口函数,通常被认为仅对数据仓库SQL有用。使用分析函数的查询,基于对数据行的分组来计算总量值。与...
    猫猫_tomluo阅读 3,416评论 3 18
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 4,173评论 0 0
  • 你知道创业成功的概率是多少吗?先来看看美国的数据: 没错,是5%。近年来,国内创业成风,创业人数大增,风投也过于激...
    精一学社阅读 595评论 0 12
  • 有你,你来不及说我爱你 而我,去沉静在爱中 不思量,自相难忘 随心随意,随风,随你 满满的温暖情意 记忆碎片的时间...
    梅雨果果阅读 596评论 0 1
  • D12#/21 案主信息:男,27,实验室工作者。 画面描述:有树,房子,夕阳西下,小孩子回家 分析:整体画面淡雅...
    水色斑斓S阅读 197评论 0 0