替换SAS中的缺失值

时间:2013-06-01 22:00:55

标签: sas etl

如何用SAS中的零替换所有缺失值?我有一个文本文件,我转储到SAS处理一些地理数据,但每当它有一个缺失的值,它会打破操作。有没有办法在不指定每个字段的情况下改变它?我有200多个。

我的方式是:

data geo_cali_north;
set geo_cali_north;
if polar_data eq . then 0;
if lat_xvar eq . then 0;
run;

我怎样才能避免在每个领域都这样做?

2 个答案:

答案 0 :(得分:16)

您可以将所有缺失值设置为0,如下所示:

data myData;
set myData;
array a(*) _numeric_;
do i=1 to dim(a);
if a(i) = . then a(i) = 0;
end;
drop i;

这将转换任何数字“。”到0

答案 1 :(得分:7)

另一种选择:

proc stdize data=mydata reponly missing=0 out=newdata;
var _numeric_;
run;

如果您有SAS / STAT,可能比大数据集的datastep选项更快。