7

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

我这样做的方式是:

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

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

4

2 回答 2

17

您可以将所有缺失值设置为 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

于 2013-06-01T22:02:38.490 回答
8

另外一个选项:

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

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

于 2013-06-02T00:34:03.910 回答