SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 708|回复: 2
打印 上一主题 下一主题

我来问个问题,关于missing data的统计。

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2005-1-9 16:27:58 | 只看该作者

我来问个问题,关于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。
谢谢
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2005-1-9 18:48:52 | 只看该作者

没时间考虑效率

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;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2005-1-10 01:22:01 | 只看该作者

Thank you so much

thank you so much.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-9 03:11 , Processed in 0.067505 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表