SAS - 检查列表中是否缺少任何变量的好方法是什么

时间:2014-12-04 13:44:46

标签: sas

我有数据集,我有时需要选择列表中没有任何变量丢失的观察结果。

即我必须这样做。

Where E1 NE . and E2 NE . and E3 NE .
或者我可以像这样轻松地做到这一点:

Where E1+E2+E3 NE .

但SAS有什么方法可以做类似的事情:

Where not missing(E1 - E3)

如果我这样做,它就不起作用

where sum(of E1-E3) NE .

因为那相当于

Where E1 NE . or E2 NE . or E3 NE .

但我需要"和"而不是"或"。


我还可以遍历数据集中的那些变量,并为选择构建变量,如:

array E E1-E3;
misind = 0;
do i=1 to dim(E);
    if E(i) = . then misind = 1;
end;

但这也不是那么简单!

1 个答案:

答案 0 :(得分:10)

我认为您可以使用函数nmisscmiss来检查缺少值的列的确切数量。

表示数字列。 e1-e3中没有列丢失。

if nmiss(of e1-e3) = 0

表示数字/字符混合列。 e1-e3中没有列丢失。

if cmiss(of e1-e3) = 0