Часто вы можете захотеть заменить отсутствующие значения в наборе данных SAS нулями.
К счастью, это легко сделать с помощью простого оператора if then .
В следующих примерах показано, как на практике заменить отсутствующие значения нулями.
Пример 1. Замена пропущенных значений во всех столбцах
Предположим, у нас есть следующий набор данных в SAS с тремя столбцами, в каждом из которых есть некоторые пропущенные значения:
/\*create dataset\*/
data my_data;
input x y z;
datalines ;
1.76
2 3 .
2 3 85
4 5 88
2 2 .
1 2 69
5.94
4 1 .
..88
4 3 92
;
run ;
/\*view dataset\*/
proc print data =my_data;

Мы можем использовать следующий код, чтобы заменить пропущенные значения нулями в каждом столбце набора данных:
/\*create new dataset with missing values replaced by zero\*/
data my_data_new;
set my_data;
array variablesOfInterest _numeric_ ;
do over variablesOfInterest;
if variablesOfInterest=. then variablesOfInterest= 0 ;
end ;
run ;
/\*view new dataset\*/
proc print data =my_data_new;

Обратите внимание, что пропущенные значения в каждом столбце были заменены нулями.
Примечание.Аргумент _numeric_ указывает SAS заменить отсутствующие значения нулями в каждом числовом столбце набора данных.
Пример 2. Замена пропущенных значений в определенном столбце
Еще раз предположим, что у нас есть следующий набор данных в SAS с тремя столбцами, в каждом из которых есть некоторые пропущенные значения:
/\*create dataset\*/
data my_data;
input x y z;
datalines ;
1.76
2 3 .
2 3 85
4 5 88
2 2 .
1 2 69
5.94
4 1 .
..88
4 3 92
;
run ;
/\*view dataset\*/
proc print data =my_data;

Мы можем использовать следующий код, чтобы заменить отсутствующие значения нулями только в столбце «y» набора данных:
/\*create new dataset with missing values in "y" column replaced by zero\*/
data my_data_new;
set my_data;
array variablesOfInterest y;
do over variablesOfInterest;
if variablesOfInterest=. then variablesOfInterest= 0 ;
end ;
run ;
/\*view new dataset\*/
proc print data =my_data_new;

Обратите внимание, что только отсутствующие значения в столбце «y» были заменены нулями.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как нормализовать данные в SAS
Как удалить дубликаты в SAS
Как использовать сводку процедур в SAS
Как выбрать наблюдения, которые не являются нулевыми в SAS