楼主: wer7wer8wer9
1129 3

[技术讨论与投票] 新手求助SOS,急急急,倾角大家如何求出1行多个变量中前五个最大的值? [推广有奖]

  • 0关注
  • 0粉丝

大专生

35%

还不是VIP/贵宾

-

威望
0
论坛币
7 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
886 点
帖子
26
精华
0
在线时间
38 小时
注册时间
2016-9-15
最后登录
2024-3-11

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
新手求助SOS,如何求出1行多个变量中前五个最大的值?
例如
_N_      COL1  COL2 COL3 COL4 COL5 COL6 COL7 COL8 COL9 COL10       m1       m2      m3     m4     m5
   1            2       3        1        7      6     5         8      10       9        4          10         9        8         7        6
   2            10     20    50     25     100     55     75      15      95       35        100      95     75       50      35

请教一下大家有没有办法已有COL1-COL10,然后生成m1-m5呢?
用m1=max(COL1-COL10)只能求最大值,不知道第二个次最大到第五个次最大值该怎么办呢~~很忧伤
二维码

扫码加我 拉你入群

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

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

关键词:新手求助 多个变量 sos 最大的 最大值 最大的 如何

沙发
wer7wer8wer9 发表于 2017-4-29 12:38:21 |只看作者 |坛友微信交流群
已经用array+循环解决了~~

使用道具

藤椅
foocares 发表于 2017-4-29 13:16:37 |只看作者 |坛友微信交流群
wer7wer8wer9 发表于 2017-4-29 12:38
已经用array+循环解决了~~
你的问题实质是SAS里一个经典的横向排序。
从效率上来说,array加bubble sort循环比较累人,尤其数据量多的时候不是太经济。
如果你用的是SAS9.2以上版本,最佳性价比应该是用新启用的函数sortN
短短五行就够了:
data result;
set test;  /*这里放原始数据集名字*/
call sortn(of col10 - col1);
drop col6 - col10;
run;

试试吧,用过都说好。。。

使用道具

板凳
wer7wer8wer9 发表于 2017-4-29 14:59:36 |只看作者 |坛友微信交流群
foocares 发表于 2017-4-29 13:16
你的问题实质是SAS里一个经典的横向排序。
从效率上来说,array加bubble sort循环比较累人,尤其数据量多 ...
哇,谢谢大神,爱你

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-24 09:57