全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2440 13
2016-04-30
请教大神,下表如何用SAS编程:如果result1=1,碰到的第一个result2=1,就比较result1=1时的x与result2=1时的y大小,并将结果放在新新变量z下。如果result1=1和result2=1在同一行,则不进行比较,继续找下一个result2=1,并进行result1=1时的x与result2=1y 的比较。
然后再次找下一个result1=1,重复之前的步骤

附件列表
QQ图片20150315144545.png

原图尺寸 6.66 KB

QQ图片20150315144545.png

二维码

扫码加我 拉你入群

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

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

全部回复
2016-4-30 20:57:45
替自己顶贴,希望有人能回答下。
二维码

扫码加我 拉你入群

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

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

2016-4-30 20:59:05
怎么都没有人回答(⊙o⊙)?
二维码

扫码加我 拉你入群

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

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

2016-4-30 20:59:31
我看了下,给出参考如下,用的方法估计比较繁琐:

data data1;
        input x y result1 result2;
        cards;
9.294 8.67 0 0
9.224 8.84 0 0
9.16 9.16 1 0
9.295 8.995 0 1
9.055 8.275 0 0
8.933 8.585 0 0
9.091 8.935 0 0
8.85 8.85 1 1
8.933 8.585 0 0
8.912 8.72 0 0
8.87 8.75 0 1
;
run;
data data2;
        set data1;
        retain x1 0 y1 0;
        if result1=1 then x1=x;
        if result2=1 then y1=y;
        n1+result1;
run;
data data3;
        set data2;
        by n1 notsorted;
        if ^first.n1 & n1^=0 & result1=0 & result2=1 then do;
                if x1<y1 then z='<';
                    else if x1=y1 then z='=';
                    else z='>';
        end;
run;

proc sort data=data3(where=(z^='')) out=nodups1 nodupkey;
        by n1;
run;
二维码

扫码加我 拉你入群

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

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

2016-4-30 21:41:23
可能提的问题有点难,大神觉得麻烦?若能回答,就好了,我是想破脑袋都不知怎么编这一段程序。@5傻小不点,谢谢你帮我顶贴。
二维码

扫码加我 拉你入群

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

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

2016-4-30 21:51:05
好神奇,你看不到消息吗?顶贴应该积极点,还能有经验~
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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