需要实现的目标是:如果某个ID的type取值为0,则删除这个ID的所有观测值,具体到上面的数据就是要把ID=002的所有记录都删了。作者: shiyiming 时间: 2009-8-19 22:37 标题: Re: 求助:怎样根据一定的条件删除一系列观测值? [code:1dxwydp5]data b(drop=del_flag);
do _n_=1 by 1 until(last.id);
set a;
by id;
if type=0 then del_flag=1;
end;
do _n_=1 to _n_;
set a;
if del_flag~=1 then output;
end;
run;[/code:1dxwydp5]作者: shiyiming 时间: 2009-8-20 03:36 标题: Re: 求助:怎样根据一定的条件删除一系列观测值? data a;
input ID$ Num type;
cards;
001 1 1
001 2 1
001 3 1
002 2 1
002 1 0
002 2 1
003 1 1
003 4 1
;
run;
proc sql;
select * from a where id ^= (select distinct id from a where type=0);
quit;作者: shiyiming 时间: 2009-8-20 13:28 标题: Re: 求助:怎样根据一定的条件删除一系列观测值? to jingju11