Как использовать 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 .
- Если рейтинг был «ОК», то Player_Status присваивалось значение 3 .
- Если рейтинг не равнялся ни одному из ранее указанных значений, то Player_Status присваивалось значение 4 .
Примечание . Полную документацию по оператору SELECT в SAS можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Полное руководство по циклам DO в SAS
Как использовать IF-THEN-DO в SAS