You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PROC SQL统计每个变量的缺失值?现有代码输出异常求解决

解决PROC SQL统计变量缺失值的问题

原代码的问题在于,count(UtgUtl_FlygSSEK_Pers is missing) 里的判断表达式会返回1(缺失)或0(非缺失),而count()函数会统计所有非缺失的结果——不管是1还是0,都会被算作有效项,所以最终输出的是符合WHERE条件的总观测数,而非缺失值数量。

可以通过以下两种方式修改代码:

方法一:用SUM函数统计缺失标记

利用SAS中布尔值(缺失判断的结果)为1/0的特性,直接用SUM累加缺失的次数:

PROC SQL;
SELECT sum(UtgUtl_FlygSSEK_Pers is missing) AS Missing_Count
FROM IBIS3_5
WHERE Exkl_UtgUtl_Flyg=1;
quit;

或者用CASE语句更明确地标记缺失项:

PROC SQL;
SELECT sum(case when UtgUtl_FlygSSEK_Pers is missing then 1 else 0 end) AS Missing_Count
FROM IBIS3_5
WHERE Exkl_UtgUtl_Flyg=1;
quit;

方法二:总观测数减去非缺失数

用count(*)得到符合条件的总观测数,减去count(UtgUtl_FlygSSEK_Pers)(统计非缺失的数量),差值就是缺失值的数量:

PROC SQL;
SELECT count(*) - count(UtgUtl_FlygSSEK_Pers) AS Missing_Count
FROM IBIS3_5
WHERE Exkl_UtgUtl_Flyg=1;
quit;

内容的提问来源于stack exchange,提问作者Magnus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 10:35:21