data test; set mzbg.csmardata;
where zqdm = '000426';
if gljyje ^= . then gljyje = log(gljyje);
if gljyje = . then gljyje = 0;
run;
我要对gljyje列取对数运算,因为该列存在缺失值所以我用if条件过滤缺失值,但是运行结果提示:
NOTE: 在以下位置无法执行算术运算。运算结果已设为缺失值。 每个位置的指定方式: (次数)(行:列)。 1 2504:33
似乎if条件没有起到作用,然后我又换成下面的做法仍然不行。
data test;
set mzbg.csmardata;
where zqdm = '000426';
if gljyje = . then gljyje = 1;
gljyje = log(gljyje);
run;
即把所有缺失值取对数后变为0。(原gljyje列不存在为零的数据)