missing()函数是用来检验缺失值的函数
帮助文档里有个例子,它是用来检查包含缺失值的变量的:
data _null_;
input @1 var1 3. @5 var2 3.;
if missing(var1) then
do;
put 'Variable 1 is Missing.';
end;
else if missing(var2) then
do;
put 'Variable 2 is Missing.';
end;
datalines;
127
988 195
;
run;
另外,我们经常遇到需要剔除缺失值的情况,通常习惯用if variable=. then delete;这个语句在很多情况下容易出错,
例如:
data value;
input var1 var2 @@;
if var2=. then delete;
datalines;
127 988 195 .
122 .n
;
run;
if var2=. then delete这样的结果只会剔除 缺失的值。得到的结果:
Obs var1 var2
1 127 988
2 122 N
如果需要剔除.n,我们可以考虑missing()函数:
data value;
input var1 var2 @@;
if missing(var2) then delete;
datalines;
127 988 195 .
122 .n
;
run;
proc print ;run;
结果:
Obs var1 var2
1 127 988