SAS中文论坛

标题: 关于删除观测的问题 [打印本页]

作者: shiyiming    时间: 2008-3-2 19:12
标题: 关于删除观测的问题
数据集A包含变量a,其观测为
0
1
0
1
1
0
1
1
现在想把那些连续两个都为1(观测中不会出现三个连续为1的情况)的观测删掉,也就是得到数据集B,如下
0
1
0
0
这样的程序该怎么写呢?谢谢!
作者: shiyiming    时间: 2008-3-3 13:54
标题: Re: 关于删除观测的问题
[code:1yhgtm60]
data a;
input x;
cards;
0
1
0
1
1
0
1
1
;

data b(keep=x);
merge a a(firstobs=2 rename=(x=y));
z=lag(x);
if x=y=1 | x=z=1 then delete;
proc print;run;[/code:1yhgtm60]
作者: shiyiming    时间: 2008-3-3 21:32
标题: Re: 关于删除观测的问题
[code:3sza67gr]
data a;
input x;
cards;
0
1
0
1
1
0
1
1
;
run;

data result(drop=i);
        set a;
        by x notsorted;
        if first.x then i=0;
        i+1;
        if last.x and i=1;
run;
[/code:3sza67gr]




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