SAS中文论坛

标题: 我来问个问题,关于missing data的统计。 [打印本页]

作者: shiyiming    时间: 2005-1-9 16:27
标题: 我来问个问题,关于missing data的统计。
如果观察值按照日期排列,其中missing data,如何将missing连续n天的obs区别提出?
例如
ID           obs
1        1
2        .
3        .
4        .
5        5
6        .
7        .
8        .
9        .
10        .
11        .
12        .
13        .
14        .
15        1
16        2
17        .
18        .
19        .
20        20
如何得出下面的结果
ID           obs        missing days
1        1        0
2        .        3
3        .        3
4        .        3
5        5        0
6        .        9
7        .        9
8        .        9
9        .        9
10        .        9
11        .        9
12        .        9
13        .        9
14        .        9
15        1        0
16        2        0
17        .        3
18        .        3
19        .        3
20        20        0
然后统计missing days。
谢谢
作者: shiyiming    时间: 2005-1-9 18:48
标题: 没时间考虑效率
data ahuige;
input ID obs ;
if obs^=. then md=0;
else md+1;
n=_n_;
cards;
1 1
2 .
3 .
4 .
5 5
6 .
7 .
8 .
9 .
10 .
11 .
12 .
13 .
14 .
15 1
16 2
17 .
18 .
19 .
20 20
;
run;

proc sort;
by  descending n;
run;

data ahuige ;
set ahuige;
if _n_=1 then temp=0;
if md^=0 then
do;
temp+1;
md=md+temp-1;
end;
else
do;
temp=0;
end;
run;

proc sort ;
by n;
run;

data ahuige;
set ahuige;
keep ID obs md ;
run;
作者: shiyiming    时间: 2005-1-10 01:22
标题: Thank you so much
thank you so much.




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