如何知道 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;
在我的数据集中,有几个观测值 (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;