全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5146 1
2015-01-01

我现在有一个矩阵A,其中列表示7个样本,行表示三个指标值,我现在需要对这7个样本排序,首先依据第一个指标(即矩阵第一行)从大到小依次排序,如果遇到有相同元素,则比较对应的第二行的元素,按第二行从小到大依次排序,如果第二行元素仍然相同的话,则按第三行元素从小到大排序。如果第三行依旧相同,就按系统默认的顺序排列就好,不予处理。
A=      [1]          [2]          [3]           [4]           [5]            [6]         [7]
    [1] 3.1333  3.0667   3.1333    3.1333    1.4667    4.2667    2.9333
    [2]   .5213    .0496     .0922      .5213     .2482     .1560       .4575
    [3] 1.4124    .2534     .3396      .7841      .7005     .4303     1.3094
以这个例子为例,我们首先按第一行元素排序,依次为:6->应该是1,3,4,此时由于他们第一行元素相同,观察第二行,3的值最小,但是1,4第二行元素相同,则看第三行,结果就是6->3->4->1,接下来仍然按照第一行元素的大小依次排序。6->3->4->1->2->7->5

各位高手,新手上路,多多指教!拜托了~
二维码

扫码加我 拉你入群

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

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

全部回复
2015-1-2 16:19:38
rbind(D33[1,],D33[2,],D33[3,])[,order(-D33[1,],D33[2,],D33[3,])]
一句话解决问题,之前太傻了  也不再好好想想,就跑出来提问~
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群