Как заменить пропущенные значения нулями в sas


Часто вам может потребоваться заменить отсутствующие значения в наборе данных SAS нулями.

К счастью, это легко сделать, используя простой оператор if then .

Следующие примеры показывают, как на практике заменить пропущенные значения нулями.

Пример 1: Заменить пропущенные значения во всех столбцах

Предположим, у нас есть следующий набор данных в SAS с тремя столбцами, в каждом из которых отсутствуют значения:

 /*create dataset*/
data my_data;
    input xyz;
    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 xyz;
    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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *