R语言系列:秩序相关的几个函数
博客专区 > explore 的博客 > 博客详情
R语言系列:秩序相关的几个函数
explore 发表于5年前
R语言系列:秩序相关的几个函数
  • 发表于 5年前
  • 阅读 260
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

x= sample(10, 5);
rank(x);    #返回x的秩,即x中数字的大小顺序
sort(x);    #x从小到大排序
x[order(x)];    #和sort(x)等效
order(x);    #返回升序排序后的数字在原数据中的位置,相当于排序前后位置的记录

order可用于矩阵或数组排序
x = c(1,1,3:1,1:4,3); y = c(9,9:1); z = c(2,1:9);    #建立三个向量
a=rbind(x, y, z);    #将三个向量按行组成数组
a[,order(x, y, z)];    #依据三个向量顺序排序,注意下标里的符号
a=cbind(x, y, z);    #将三个向量按列组成数组
a[order(x, y, z),];    #依据三个向量顺序排序,注意下标里的符号和前者的区别

注意:上述几个例子里的x、y、z是工作环境中事先定义好的三个变量,注意和下面的区别

rm(list=ls());
a=data.frame(x = c(1,1,3:1,1:4,3), y = c(9,9:1), z = c(2,1:9));
a[order(x, y, z),];    #错误于rbind(x, y, z) : 找不到对象'x'。
    原因是x为数据框里的变量名,而不是工作环境中的一个变量
a[order(a$x, a$y, a$z),];    #返回排序结果

标签: rank sort order
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 12
博文 60
码字总数 33933
×
explore
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: