我有数据集,我有时需要选择列表中没有任何变量丢失的观察结果。
即我必须这样做。
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;
但这也不是那么简单!
答案 0 :(得分:10)
我认为您可以使用函数nmiss
或cmiss
来检查缺少值的列的确切数量。
表示数字列。 e1-e3中没有列丢失。
if nmiss(of e1-e3) = 0
表示数字/字符混合列。 e1-e3中没有列丢失。
if cmiss(of e1-e3) = 0