R语言排序函数sort(),rank(),order()
来源:互联网 发布:列克星敦战巡数据 编辑:程序博客网 时间:2024/05/18 02:37
转载地址
http://blog.sina.com.cn/s/blog_6caea8bf0100spe9.html
在R中,和排序相关的函数主要有三个:sort(),rank(),order()。
sort(x)是对向量x进行排序,返回值排序后的数值向量。rank()是求秩的函数,它的返回值是这个向量中对应元素的“排名”。而order()的返回值是对应“排名”的元素所在向量中的位置。
下面以一小段R代码来举例说明:
> x<-c(97,93,85,74,32,100,99,67)> sort(x)[1] 32 67 74 85 93 97 99 100> order(x)[1] 5 8 4 3 2 1 7 6> rank(x)[1] 6 5 4 3 1 8 7 2
假设x为一组学生完成某项测试所花费的时间(所用时间越短,排名越靠前),rank()的返回值是这组学生所对应的排名,而order()的返回值是各个排名的学生成绩所在向量中的位置。前一段同学问我一个问题,如何返回一个数值向量中满足某条件的元素在向量中的位置?举例来说,x<-c(97,93,85,74,32,100,99,67),希望返回x中满足值大于50且小于90的元素在向量x中的下标。当时想了想,没觉得有什么好的方法,使用了比较繁琐的语句
sort(x,index.return=TRUE)[[2]][sort(x,index.return=TRUE)[[1]]<90&sort(x,index.return=TRUE)[[1]]>50],
后来发现sort(x,index.return=TRUE)[[2]]和order(x)的返回值是一样的,而sort(x,index.return=TRUE)[[1]]和sort(x)的返回值是相同的,因此语句可以简化为order(x)[sort(x)>50&sort(x)<90]。下面是相关的R代码:
> x[1] 97 93 85 74 32 100 99 67> sort(x,index.return=TRUE)[[2]][sort(x,index.return=TRUE)[[1]]<90&sort(x,index.return=TRUE)[[1]]>50][1] 8 4 3> order(x)[sort(x)>50&sort(x)<90][1] 8 4 3> sort(x,index.return=TRUE)$x[1] 32 67 74 85 93 97 99 100$ix[1] 5 8 4 3 2 1 7 6> order(x)[1] 5 8 4 3 2 1 7 6
0 0
- R语言排序函数sort(),rank(),order()
- R: 数据排序函数 sort(), rank(), order()
- R-排序order(),sort(),rank()
- R软件中排序:sort(),rank(),order()
- R:sort(),rank(),order()
- R语言和Python中sort(),rank()和order()的各自区别(默认都是升序)
- R语言rank函数详细解析
- R中rank函数使用
- R函数-rev()、sort()
- 关于std::sort中的比较函数使用时的严格弱排序(strict weak order)
- order by 降序desc,升序asc,排名函数 rank()over()
- R语言-数据排序
- 排序函数sort()
- C++ Sort排序函数
- 排序函数sort
- sort函数降序排序
- sort()排序函数
- 系统排序函数sort()
- TextView实现扩展和收起
- PX PT及EM
- 页面ViewState体积庞大影响性能解决方案
- 3d-warping 映射原理
- 解决[Résolu] Check_icmp: This plugin must be either run as root or setuid
- R语言排序函数sort(),rank(),order()
- Spring2.5注解介绍(3.0通用)
- 渣渣的救赎-LeetCode
- sudo -s
- C++类中静态成员与非静态成员的相互访问问题
- 15分钟学会使用Git和远程代码库(转载)
- CSS块级元素、内联元素概念
- 利用SVN实现自动版本号生成
- cordova 3.0以上ios自定义插件