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