Как использовать 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

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

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