SAS中文论坛

标题: 条件判断之语法?? [打印本页]

作者: shiyiming    时间: 2010-8-13 01:20
标题: 条件判断之语法??
请教各位前辈,最近在作一个研究,是判断行为模式的东西,而我的问题是,我应如何写出能判断出同一天同一个人的有不同的行动呢(同一天同一个人同时有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         无
作者: shiyiming    时间: 2010-8-13 10:26
标题: 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]
作者: shiyiming    时间: 2010-8-13 20:55
标题: Re: 条件判断之语法??
成功了,谢谢前辈的指教!




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2