当前位置:   article > 正文

sas table将缺失值计入百分比_sas缺失值处理(一)——变量值皆为缺失值的变量删除...

sas删除缺失值

在大型数据处理中往往会遇到数据缺失的情况,如何处理缺失值尤为重要,对于缺失值处理的理论知识这里不一一概述,在此介绍一下SAS如何删除变量值皆为缺失值的变量(也就是删除全为缺失值的一列)。

在SAS中数据只有两种类型:数值型和字符型。基于这一点,我们在此介绍一种利用数组进行变量删除的方式:

此处使用的数据集包括9个变量,22条观测。​

SAS代码如下:

data temp;set new;array arr1{*} _numeric_;array arr2{*}

_character_;do i=1 to dim(arr1);if missing(arr1(i)) then

do;variable =vname(arr1(i));output;end;end;do j = 1to dim(arr2);if

missing(arr2(j)) then do;variable = vname(arr2(j));

output;end;end;keep variable;run;proc sql;create table miss

asselect variable ,count(*) as frequency from temp group by

variable;quit;proc sql;alter table new drop C_var1;alter table new

drop N_var1;quit;

其中new为需要进行删除的数据集,其中data步将两种类型的数据分别进行处理,找出带有缺失值的变量名,保存在temp中,具体运行结果如下:

随后我们将所得的temp数据集进行处理,由于简单的从temp来看,并不能看出哪些是需要删除的变量,因此我们利用sql对其中的数据计算频数。得到以下结果:

因此,对于此数据集,需要删除的只有两个变量。最后,我们利用sql对原始数据集new进行变量删除。

其他删除变量值皆为缺失值的变量方式,欢迎补充,互相学习。​

​​​

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/759980
推荐阅读