楼主: yebofang
12469 19

[求助]R中排序问题 [推广有奖]

  • 2关注
  • 0粉丝

已卖:97份资源

博士生

0%

还不是VIP/贵宾

-

威望
0
论坛币
52 个
通用积分
0
学术水平
5 点
热心指数
6 点
信用等级
0 点
经验
983 点
帖子
73
精华
0
在线时间
368 小时
注册时间
2008-3-17
最后登录
2015-11-21

楼主
yebofang 发表于 2008-3-19 20:32:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
      请教高手,R中如何有比较简单的办法实现对一个矩阵排序?我希望达到的目标是,按照某一列排序,但是其他列能够跟着这列排序的变化而变化?比如,第一列是,8,3,9;第二列是5,7,3;如果按照第一列升序,希望能够得到第二列是7,5,3.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:请教高手 如何

沙发
heavenicefox 发表于 2008-3-19 21:21:00

x<-matrix(c(8,3,9,5,7,3),byrow=F,nrow=3)

x[order(x[,1]),]

结果如下:

     [,1] [,2]
[1,]    3    7
[2,]    8    5
[3,]    9    3

藤椅
heavenicefox 发表于 2008-3-19 21:36:00

解释一下吧,

其实思路很简单,

无论是向量还是矩阵数据框,

R都可以很容易的通过下标来操作

order(x[,1])得到x的第一列数据的大小次序

然后作为x[order(x[,1]),]的行的显示次序

哎,不好意思

我语言表达能力不是太好

希望我刚才表达清楚了

已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
complicated + 12 + 12 + 3 + 3 + 3 热心帮助其他会员

总评分: 经验 + 12  论坛币 + 12  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

板凳
dawnthb 发表于 2009-3-28 01:14:00
非常感谢,解决了我的一大问题!!!

报纸
yjjssd 发表于 2009-3-28 03:11:00

二楼正解。

地板
wuhaibin 发表于 2010-7-7 14:03:32
今天正好遇到这个问题,学习了,多谢

7
jacinda 发表于 2011-5-16 20:55:17
heavenicefox 发表于 2008-3-19 21:36
解释一下吧,其实思路很简单,无论是向量还是矩阵数据框,R都可以很容易的通过下标来操作order(x[,1])得到x的第一列数据的大小次序然后作为x[order(x[,1]),]的行的显示次序哎,不好意思我语言表达能力不是太好希望我刚才表达清楚了
谢谢,我自己用sort排了1个多小时也没有搞定,看了你的回答,立即就会了

8
foglily 发表于 2013-12-24 18:46:15
非常感谢,帮了大忙
热爱科研,与世无争。

9
小鱼鱼88号 发表于 2014-3-23 18:46:35
heavenicefox 发表于 2008-3-19 21:21
x&lt;-matrix(c(8,3,9,5,7,3),byrow=F,nrow=3)x[order(x[,1]),]结果如下:&nbsp;&nbsp;&nbsp;&nbsp; [,1] [, ...
你好,我今天也遇到排序的问题,看了你的方法之后,用了,也排上了。但是有个问题就出现了:它是按照第一个字符大小来排,而不是按照数字大小。比如说:排1到30 。它会先把第一位是1的排了,再排第一位是2的,依次类推。。。这样就导致排出来的是1,11,12。。。。21,22。。。。请问大神,怎么办呢?谢谢。

10
danica33 发表于 2014-3-24 10:28:44
小鱼鱼88号 发表于 2014-3-23 18:46
你好,我今天也遇到排序的问题,看了你的方法之后,用了,也排上了。但是有个问题就出现了:它是按照第一 ...
我排的都是按大小排列,是不是你的数字本身是字符,程序是什么样的

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 05:25