SAS中的cmiss函数-阿里云开发者社区

开发者社区> 云计算> 正文

SAS中的cmiss函数

简介: SAS中的cmiss函数统计缺失值
在使用cmiss函数求行缺失个数时,需要注意的一个地方:
data a;
    v1=.;v2='';x=3;output;
    v1=1;v2='A';x=2;output;
    v1=3;v2='';x=.;output;
    v1=.;v2='B';x=2;output;
run;


data b;
set a;
sum_miss=cmiss(of _all_);
run;
当我们使用sum_miss=cmiss(of _all_)时,会发现缺失值的个数比实际缺失值个数要多一个:
0
如果改使用sum_miss=cmiss(of v1--x)时:
data b;
set a;
sum_miss=cmiss(of v1--x);
run;
结果发现缺失值个数跟实际缺失值个数保持一致:
0

从结果我们可以看到用_all_时,比v1--x多了一个变量的缺失值,为了查明原因,我们采用put语句进行调试:
data b;
set a;
put _all_;
sum_miss=cmiss(of _all_);
run;
结果如下所示:
 0
因此可以看到多出的那个变量缺失值是sum_miss,因此为了避免这种情况出现,我们可以用retain语句给sum_miss初始化:
data b;
set a;
retain sum_miss 0;
sum_miss=cmiss(of _all_);
run;
结果如下所示:
0
从上述结果可以看到缺失值个数统计跟实际缺失值个数保持一致。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章