楼主: 623551832
2569 13

寻找表中的某个变量值,并比较所关联列值的大小 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

初中生

66%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
117 点
帖子
11
精华
0
在线时间
21 小时
注册时间
2016-4-20
最后登录
2016-10-25

楼主
623551832 发表于 2016-4-30 14:50:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教大神,下表如何用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,重复之前的步骤

二维码

扫码加我 拉你入群

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

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

关键词:变量值 Result RESUL SAS编程 RES 在线等

QQ图片20150315144545.png (6.66 KB)

QQ图片20150315144545.png

回帖推荐

5傻小不点 发表于4楼  查看完整内容

我看了下,给出参考如下,用的方法估计比较繁琐: 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; ...

沙发
623551832 发表于 2016-4-30 20:57:45
替自己顶贴,希望有人能回答下。

藤椅
5傻小不点 发表于 2016-4-30 20:59:05
怎么都没有人回答(⊙o⊙)?

板凳
5傻小不点 发表于 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;

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

地板
5傻小不点 发表于 2016-4-30 21:51:05
好神奇,你看不到消息吗?顶贴应该积极点,还能有经验~

7
623551832 发表于 2016-5-1 15:32:34
5傻小不点 发表于 2016-4-30 20:59
我看了下,给出参考如下,用的方法估计比较繁琐:

data data1;
不好意思,之前我手工筛选和你用机器筛选的数据对不上,但在描述中又没说清楚,按你给我的程序我发现z值有空白,按理说你设的条件“大小等于”都设了,不应该出现这种情况,能否帮我看看?我把文件以附件的形式上传了。非常感谢!

8
623551832 发表于 2016-5-1 15:34:11
比如2014年10月27日符合条件,但没筛选出来

9
5傻小不点 发表于 2016-5-1 15:50:57
623551832 发表于 2016-5-1 15:34
比如2014年10月27日符合条件,但没筛选出来
恩,发现错误了

10
5傻小不点 发表于 2016-5-1 15:56:17
把if语句改一下吧
if n1^=0 & ((result1=1 & result2=0) or (result1=0 & result2=1));
这样试试~

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 23:23