sas table将缺失值计入百分比_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进行变量删除。

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

​​​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值