全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6796 6
2013-11-23
一个数据集中含有数值变量 A1-A10;我想按行求出 A1-A10中那个是最大值,次大值。生成两个新变量,分别返回取最大值和次大值的变来名称。
如何求呢?求解



二维码

扫码加我 拉你入群

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

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

全部回复
2013-11-23 16:58:03
DATA A;
ARRAY A{10};
DO J=1 TO 4;
DO I=1 TO DIM(A);
A(I)=RANUNI(I+J);
END;
OUTPUT;
END;
DROP I J;
RUN;
****以上为CASE****;
DATA B;
SET A;
ARRAY A A:;
MAX1=MAX(OF A{*});
MAX2=LARGEST(2,OF A{*});
DO OVER A;
IF A=MAX1 THEN VAR_MAX=VNAME(A);
ELSE IF A=MAX2 THEN VAR_MAX2=VNAME(A);
END;
RUN;

PROC PRINT;
RUN;
二维码

扫码加我 拉你入群

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

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

2013-11-23 18:17:39
A072560 发表于 2013-11-23 16:58
DATA A;
ARRAY A{10};
DO J=1 TO 4;
很感谢!学到了两个函数 largest和vname
二维码

扫码加我 拉你入群

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

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

2013-11-24 01:25:46
三个数 2,2,1,次大值是2还是1?如果是2,以上的程序正确。京剧
二维码

扫码加我 拉你入群

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

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

2013-11-25 17:55:11
jingju11 发表于 2013-11-24 01:25
三个数 2,2,1,次大值是2还是1?如果是2,以上的程序正确。京剧
jingju11 看问题果然很透彻。
相同值得问题,确实让我头疼。
不过还好,我需要找的TOP2 确实是指2,2,1 中的2,2
二维码

扫码加我 拉你入群

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

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

2013-11-25 18:12:48
请用:call sortn
谁用谁知道。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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