标题: 【新手求助】SAS数据集查缺失 [打印本页] 作者: shiyiming 时间: 2011-9-7 14:05 标题: 【新手求助】SAS数据集查缺失 数据集里数据比较多,怎样才能查表里的数据哪个缺失呢
比如 x y z
1 2 3
4 . 6
7 8 .
这种情况显示变量y 第二行有缺失 变量z 第三行缺失
谢谢指点~作者: shiyiming 时间: 2011-9-7 15:00 标题: Re: 【新手求助】SAS数据集查缺失 data yuyu;
input x y z ;
cards;
1 2 3
4 . 6
7 8 .
. . 0
2 3 5
;
run;
title "Listing of missing data id";
%macro id(para=);
data _null_;
set yuyu;
if missing(&para) then put "Missing record is number " _n_;
run;
%mend;
%id(para=y);作者: shiyiming 时间: 2011-9-7 17:10 标题: Re: 【新手求助】SAS数据集查缺失 [quote="yugao1986":3fzinckx]data yuyu;
input x y z ;
cards;
1 2 3
4 . 6
7 8 .
. . 0
2 3 5
;
run;
title "Listing of missing data id";
%macro id(para=);
data _null_;
set yuyu;
if missing(&para) then put "Missing record is number " _n_;
run;
%mend;
%id(para=y);[/quote:3fzinckx]
先谢谢指点,o(∩_∩)o
这种情况只检查了y那一列的 如果一张表里变量和观测都很多呢?作者: shiyiming 时间: 2011-9-8 21:33 标题: Re: 【新手求助】SAS数据集查缺失 如果你用sas9.3.如果你知道如何使用proc calis。其中含有一个较好的对数字型变量缺失的总结。京剧作者: shiyiming 时间: 2011-9-9 09:49 标题: Re: 【新手求助】SAS数据集查缺失 [quote="jingju11":3r7rn6ad]如果你用sas9.3.如果你知道如何使用proc calis。其中含有一个较好的对数字型变量缺失的总结。京剧[/quote:3r7rn6ad]
(┬_┬) 如果不成立 现在对SAS还只是入了个门 之前没有接触过
还是谢谢高人指点 ~作者: shiyiming 时间: 2011-9-11 09:52 标题: Re: 【新手求助】SAS数据集查缺失 [code:25nwmx9r]
data _null_;
length msg $100;
dsid=open('a');
nobs=attrn(dsid,'nobs');
nvar=attrn(dsid,'nvars');
do i=1 to nobs;
rc=fetchobs(dsid,i);
do j=1 to nvar;
if vartype(dsid,j)='N' then do;
if missing(getvarn(dsid,j)) then do;msg='第'||i||'行,变量'||varname(dsid,j)||'缺失';put msg;end;
end;
else if vartype(dsid,j)='C' then do;
if missing(getvarc(dsid,j)) then do;msg='第'||i||'行,变量'||varname(dsid,j)||'缺失';put msg;end;
end;
end;
end;
rc=close(dsid);
run;
[/code:25nwmx9r]作者: shiyiming 时间: 2011-9-13 09:23 标题: Re: 【新手求助】SAS数据集查缺失 [quote="byes":33kzenil][code:33kzenil]
data _null_;
length msg $100;
dsid=open('a');
nobs=attrn(dsid,'nobs');
nvar=attrn(dsid,'nvars');
do i=1 to nobs;
rc=fetchobs(dsid,i);
do j=1 to nvar;
if vartype(dsid,j)='N' then do;
if missing(getvarn(dsid,j)) then do;msg='第'||i||'行,变量'||varname(dsid,j)||'缺失';put msg;end;
end;
else if vartype(dsid,j)='C' then do;
if missing(getvarc(dsid,j)) then do;msg='第'||i||'行,变量'||varname(dsid,j)||'缺失';put msg;end;
end;
end;
end;
rc=close(dsid);
run;