Как использовать IF-THEN-DO в SAS (с примерами)


Вы можете использовать оператор IF-THEN-DO в SAS для выполнения блока операторов , если какое-то условие истинно.

Этот оператор использует следующий основной синтаксис:

if var1 = " value " then do ;
 new_var2 = 10;
 new_var3 = 5;
 end ;

Примечание.Оператор IF-THEN используется, когда вы хотите сделать только один оператор. Оператор IF-THEN-DO используется, когда вы хотите сделать несколько операторов.

В следующем примере показано, как использовать инструкцию IF-THEN-DO на практике.

Пример: IF-THEN-DO в SAS

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

/\*create dataset\*/
data original_data;
 input store $ sales;
 datalines ;
A 14
A 19
A 22
A 20
A 16
A 26
B 40
B 43
B 29
B 30
B 35
B 33
;
run ;

/\*view dataset\*/
proc print data =original_data; 

Мы можем использовать следующий оператор IF-THEN-DO для создания двух новых переменных, которые принимают определенные значения, если хранилище равно «A» в исходном наборе данных:

/\*create new dataset\*/
data new_data;
 set original_data;
 if store = " A " then do ;
 region=" East ";
 country=" Canada ";
 end ;
run ;

/\*view new dataset\*/
proc print data =new_data; 

Вот как работал этот кусок кода:

Если магазин был равен «A», тогда создавалась новая переменная под названием « Регион » со значением «Восток», а новая переменная под названием « Страна » создавалась со значением «Канада».

Обратите внимание, что мы также можем использовать несколько операторов IF-THEN-DO:

/\*create new dataset\*/
data new_data;
 set original_data;

 if store = " A " then do ;
 region=" East ";
 country=" Canada ";
 end ;

 if store = " B " then do ;
 region=" West ";
 country=" USA ";
 end ; 
run ;

/\*view new dataset\*/
proc print data =new_data; 

Вот как работал этот кусок кода:

  • Если магазин был равен «A», тогда создавалась новая переменная под названием « Регион » со значением «Восток», а новая переменная под названием « Страна » создавалась со значением «Канада».
  • Если магазин был равен «B», то значение для региона было «Запад», а значение для страны — «США».

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:

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