|
|
楼主

楼主 |
发表于 2008-2-1 16:56:53
|
只看该作者
替换数据集中所有缺失值的macro
%macro replacemissing(data = , out = , missingvalue = );
data &out;
set &data;
array arraynum{*} _numeric_;
do i = 1 to dim(arraynum);
if arraynum{i} = . then arraynum{i} = &missingvalue;
end;
array arraychar{*} _character_;
do i = 1 to dim(arraychar);
if arraychar{i} = ' ' then arraychar{i} = "&missingvalue";
end;
run;
%mend replacemissing;
data a;
do i = 1 to 3;
x = i**2;
y = substr('abc', i, 1);
if i = 1 then x = .;
if i = 2 then y = ' ';
output;
end;
run;
%replacemissing(data = a, out = b, missingvalue = 99); |
|