如何知道 SAS 中缺少变量的 ID

How to know ids with missing variable in SAS

在我的数据集中,有几个观测值 (ID) 缺少全部或太多变量。我想知道哪些 ID 没有数据(所有变量都缺失)。我使用了 proc freq 但它只给了我变量的频率,这不符合我的目的。 Proc 意味着 nmiss 也给我完全失踪。我想确切地知道哪些 ID 缺少变量。我在网上搜索但找不到我的问题的解决方案。帮助将不胜感激。以下是示例数据;

ID   a  b  c  d  e 
1    .  3  1  2  2
2    .  .  .  .  .
3    .  .  .  .  . 
4    3  .  5  .  .

我希望结果能够显示 ID 数据以及完整的缺失信息,例如;

ID  a  b  c  d  e
2   .  .  .  .  .
3   .  .  .  .  .

谢谢

提前致谢

改为使用 nmiss 函数,它计算指定变量列表的行中缺失值的数量。例如,如果您正在查看 3 个变量

 If nmiss(var1, var2, var3) =3;
 Keep ID;

这将只保留缺少所有三个变量的记录。

n 函数 return 计算列表中非缺失数值的数量。这意味着您可以使用变量列表而不用担心计算变量:

if n(of _numeric_) = 0 then output;

if n(of a--e) = 0 then output;

如果你正在检查字符变量,则没有相应的 c 函数,但你可以使用 coalescec 函数来做类似的事情。合并函数 return 值列表中的第一个非缺失值。对于缺少所有字符值的 select 行,使用类似:

if missing(coalescec(of _character_)) then output;