sas - 仅基于变量值的空列 - SAS 数据集
问题描述
我有一个非常大的 SAS 数据集,其中包含超过 280 个变量,我需要根据变量值检索所有完整的 NULL 列。例如,我在这个数据集中有一个名为 Reported(只有值 Yes 和 No)的变量,我想根据值 No 找出这个数据集中所有完整的 Null 列。
有没有什么快速的方法可以在不为完整的 NULL 值写入所有列名的情况下找到它?
例如,如果我在表中有 4 个变量,
因此,根据上表,我希望看到 Var4='No' 这样的输出,并且只返回包含所有缺失值的列
这将帮助我识别在 Var4 值为“否”的情况下根本没有填充的变量
解决方案
注意 PROC FREQ 中的 WHERE 语句。
proc format;
value $_xmiss_(default=1 min=1 max=1) ' ' =' ' other='1';
value _xmiss_(default=1 min=1 max=1) ._-.Z=' ' other='1';
quit;
%let data=sashelp.heart;
proc freq data=&data nlevels;
where status eq: 'A';
ods select nlevels;
ods output nlevels=nlevels;
format _character_ $_xmiss_. _numeric_ _xmiss_.;
run;
data nlevels;
length TABLEVAR $32 TABLEVARLABEL $128 NLEVELS NMISSLEVELS NNONMISSLEVELS 8;
retain NLEVELS NMISSLEVELS NNONMISSLEVELS 0;
set nlevels;
run;
推荐阅读
- r - 如何撤销 CRAN 上现有的 R 包
- security - 如何阅读完全由标点符号组成的代码?
- java - 我们可以在自定义 Thread 类中自动装配类实例吗?
- javascript - 为什么 javascript on change 功能无法识别 javascript 生成的输入?
- react-native - 如何在 iOS 和 Android 中检查 react-native 应用程序的大小
- mysql - MySQL SUM 与 SELECT
- multithreading - 数组同步和多线程
- sql - Postgres LEFT JOIN 不返回空值?
- ruby-on-rails - 在carrierwave中为default_url图像分配一个版本
- php - 如何解决 Instagram mgp25 API 中所需的挑战?