Як використовувати 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