SAS中文论坛

标题: 一个数据处理问题请教! [打印本页]

作者: shiyiming    时间: 2007-10-22 14:59
标题: 一个数据处理问题请教!
类似如下的数据:
id seq flag
1 1 0
1 2 1
1 3 1
1 4 0
1 5 1
1 6 1
2 1 0
2 2 1
3 1 0
3 2 1
3 3 1
3 4 1
3 5 0
3 6 1
3 7 1
3 8 0

想增加一个字段num,表示同一id,且flag连续为1的记录数。
id seq flag num
1 1 0 0
1 2 1 2
1 3 1 2
1 4 0 0
1 5 1 2
1 6 1 2
2 1 0 0
2 2 1 1
3 1 0 0
3 2 1 3
3 3 1 3
3 4 1 3
3 5 0 0
3 6 1 2
3 7 1 2
3 8 0 0

请问如何处理,谢谢了。
作者: shiyiming    时间: 2007-10-22 16:36
标题: Re: 一个数据处理问题请教!
[code:92gz7xf7]
data a;
input id seq flag ;
cards;
1 1 0
1 2 1
1 3 1
1 4 0
1 5 1
1 6 1
2 1 0
2 2 1
3 1 0
3 2 1
3 3 1
3 4 1
3 5 0
3 6 1
3 7 1
3 8 0
;
run;
data b;
set a;by id ;
if flag=0 then i+2;
proc sort ;by id i;
run;
proc sql;
create table temp as
select *,sum(flag) as tt from b
group by id, i;
quit;
data test;set temp;
if flag=0 then num=0;else num=tt;
drop i tt;
run;[/code:92gz7xf7]




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