Як використовувати select-when у sas (з прикладом)


Ви можете використовувати оператор SELECT-WHEN у SAS, щоб призначити значення новій змінній на основі значень існуючої категоріальної змінної в наборі даних.

Цей оператор використовує такий базовий синтаксис:

 data new_data;
set my_data;
select (Existing_Column);
   when ('value1') New_Column= 1 ;
   when ('value2') New_Column= 2 ;
   when ('value3') New_Column= 3 ;
   otherwise New_Column= 4 ;
end ;
run ;

Цей синтаксис створює новий стовпець під назвою New_Column , значення якого залежать від значень Existing_Column .

У наступному прикладі показано, як використовувати оператор SELECT-WHEN на практиці.

Приклад: SELECT-WHEN у SAS

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

 /*create dataset*/
data my_data;
    input team $rating $points;
    datalines ;
Mavs Great 22
Mavs Good 29
Mavs OK 15
Mavs Bad 8
Spurs Good 30
Spurs OK 15
Spurs OK 20
Spurs Bad 7
;
run ;

/*view dataset*/
proc print data =my_data; 

Ми можемо використовувати наступний оператор SELECT-WHEN , щоб створити нову змінну під назвою Player_Status , значення якої залежать від значення в стовпці рейтингу :

 /*create new dataset with Player_Status column*/
data new_data;
set my_data;
select (rating);
   when ('Great') Player_Status= 1 ;
   when ('Good') Player_Status= 2 ;
   when ('OK') Player_Status= 3 ;
   otherwise Player_Status= 4 ;
end ;
run ;

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

Ось як були згенеровані значення в новому стовпці Player_Status :

  • Якщо оцінка була «Відмінно», то Player_Status отримав 1 .
  • Якщо оцінка була «Добре», тоді Player_Status було присвоєно 2 .
  • Якщо рейтинг був «OK», тоді Player_Status призначався 3 .
  • Якщо рейтинг не дорівнював жодному з раніше вказаних значень, тоді Player_Status присвоювалося 4 .

Примітка . Ви можете знайти повну документацію оператора SELECT у SAS тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:

Повний посібник із циклів DO в SAS
Як використовувати IF-THEN-DO в SAS

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *