楼主: tobe同学
1296 9

[实际应用] 选取最大变量 [推广有奖]

  • 0关注
  • 0粉丝

本科生

95%

还不是VIP/贵宾

-

威望
0
论坛币
1020 个
通用积分
0.6004
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
296 点
帖子
16
精华
0
在线时间
228 小时
注册时间
2013-10-11
最后登录
2024-4-26

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有四个变量var1-var4,
1 2 3 4
1 2 3 5
2 8 4 5
3 4 7 6

怎样选取最大的三个变量,结果如下
n1 n2 n3
4 3 2
5 3 2
8 5 4
7 6 4
谢谢大神~
二维码

扫码加我 拉你入群

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

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

关键词:VaR 最大的 最大的

回帖推荐

omnijust 发表于3楼  查看完整内容

如图
沙发
liujunhzau524 发表于 2017-4-5 20:59:25 |只看作者 |坛友微信交流群
  1. data tmp;
  2. input var1-var4;
  3. cards;
  4. 1 2 3 4
  5. 1 2 3 5
  6. 2 8 4 5
  7. 3 4 7 6
  8. run;
  9. data tmp1 (keep=var1-var3);
  10. set tmp;
  11. array sort{4} var1-var4;
  12. do i=1 to dim(sort)-1 by 1;
  13.    do j=i+1 to dim(sort) by 1;
  14.      if sort(j)>=sort(i) then do;
  15.             tmp=sort(i);
  16.                 sort(i)=sort(j);
  17.                 sort(j)=tmp;
  18.          end;
  19.    end;
  20. end;
  21. run;
  22. proc print data=tmp1;
  23. run;
复制代码

使用道具

藤椅
omnijust 发表于 2017-4-6 00:12:58 来自手机 |只看作者 |坛友微信交流群
如图 image0.jpg

使用道具

板凳
omnijust 发表于 2017-4-6 00:15:53 来自手机 |只看作者 |坛友微信交流群
好像没放出来…
data test;
input var1-var4;
data lines;
1 2 3 4
1 2 3 5
2 8 4 5
3 4 7 6
;
run;
data test;
set test;
n1=largest (1,of var1-var4);
n2=largest(2,of var1-var4);
run;

使用道具

报纸
tobe同学 发表于 2017-4-6 08:34:56 |只看作者 |坛友微信交流群
liujunhzau524 发表于 2017-4-5 20:59
谢谢,搞定!不过楼下的largest会简单一点。

使用道具

地板
tobe同学 发表于 2017-4-6 08:35:31 |只看作者 |坛友微信交流群
omnijust 发表于 2017-4-6 00:15
好像没放出来…
data test;
input var1-var4;
搞定了,没想到一个函数就OK。

使用道具

7
wwang111 发表于 2017-4-6 18:05:06 |只看作者 |坛友微信交流群
data wanted;
set test;
call sortn(of var4-var1);
rename var1-var3=n1-n3;
keep var1-var3;
run;

使用道具

8
tobe同学 发表于 2017-4-7 08:32:53 |只看作者 |坛友微信交流群
wwang111 发表于 2017-4-6 18:05
data wanted;
set test;
call sortn(of var4-var1);
涨姿势了,谢谢

使用道具

9
albusdzx 发表于 2017-4-7 09:59:55 |只看作者 |坛友微信交流群
data test (drop=i n4);
set test;
array var(*) var1-var4;
n1=max(var1,var2,var3,var4);
n4=min(var1,var2,var3,var4);
do i=1 to 4;
  if n4<var(i)<n1 then
  do;
  n2=max(var(i),n2);
  n3=min(var(i),n3);
  end;
end;
run;

使用道具

10
yono1212 发表于 2017-4-10 07:31:59 |只看作者 |坛友微信交流群
omnijust 发表于 2017-4-6 00:15
好像没放出来…
data test;
input var1-var4;
好思路!

使用道具

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

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

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

GMT+8, 2024-4-26 22:40