SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 713|回复: 2
打印 上一主题 下一主题

条件判断之语法??

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-8-13 01:20:27 | 只看该作者

条件判断之语法??

请教各位前辈,最近在作一个研究,是判断行为模式的东西,而我的问题是,我应如何写出能判断出同一天同一个人的有不同的行动呢(同一天同一个人同时有A和B的动作,其判断结果为「有」;若其同一天动动皆相同,则判断结果为「无」)? 其语法到底该如何写才会出现我想要之结果,请各位前辈可以帮帮小弟!
例子:

原本                希望完成
日期        ID        时间        行动                 日期         ID         时间         行动         判断
2008/1/5        1        100101        A                 2008/1/5         1         100101         A         有
2008/1/5        1        102201        A                 2008/1/5         1         102201         A         有
2008/1/5        1        102456        B                 2008/1/5         1         102456         B         有
2008/1/5        1        105533        A                 2008/1/5         1         105533         A         有
2008/1/5        2        110055        A                 2008/1/5         2         110055         A         无
2008/1/5        2        112051        A                 2008/1/5         2         112051          A         无
2008/1/5        2        132505        A                 2008/1/5         2         132505         A         无
2008/1/6        3        133555        B                 2008/1/6         3         133555         B         无
2008/1/6        1        101200        B        →         2008/1/6         1         101200         B         有
2008/1/6        1        115555        A                 2008/1/6         1         115555         A         有
2008/1/6        1        125455        B                 2008/1/6         1         125455          B         有
2008/1/7        2        113311        A                 2008/1/7         2         113311         A         无
2008/1/7        2        115555        A                 2008/1/7         2         115555         A         无
2008/1/7        3        134455        B                 2008/1/7         3         134455         B         无
2008/1/8        3        105633        A                 2008/1/8         3         105633         A         有
2008/1/8        3        112255        A                 2008/1/8         3         112255         A         有
2008/1/8        3        120044        B                 2008/1/8         3         120044         B         有
2008/1/8        1        125444        A                 2008/1/8         1         125444         A         无
2008/1/8        1        133333        A                 2008/1/8         1         133333         A         无
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-8-13 10:26:02 | 只看该作者

Re: 条件判断之语法??

[code:22kibatg]data raw;
        input date yymmdd8. id time $ action $;
        format date yymmdd10.;
datalines;
2008/1/5 1 100101 A
2008/1/5 1 102201 A
2008/1/5 1 102456 B
2008/1/5 1 105533 A
2008/1/5 2 110055 A
2008/1/5 2 112051 A
2008/1/5 2 132505 A
2008/1/6 3 133555 B
2008/1/6 1 101200 B
2008/1/6 1 115555 A
2008/1/6 1 125455 B
;
proc sort data=raw out=temp;
        by date id;
run;
data out;
        flag='N';
        do _n_=1 by 1 until(last.id);
                set temp;
                by date id;
                flag=ifc(action=ifc(_n_=1,action,lag(action)),flag,'Y');
        end;
        do _n_=1 to _n_;
                set temp;
                output;
        end;
run;[/code:22kibatg]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2010-8-13 20:55:29 | 只看该作者

Re: 条件判断之语法??

成功了,谢谢前辈的指教!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 01:37 , Processed in 0.070029 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表