Como usar select-when no sas (com exemplo)
Você pode usar uma instrução SELECT-WHEN no SAS para atribuir valores a uma nova variável com base nos valores de uma variável categórica existente em um conjunto de dados.
Esta instrução usa a seguinte sintaxe básica:
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 ;
Esta sintaxe produz uma nova coluna chamada New_Column cujos valores dependem dos valores de Existing_Column .
O exemplo a seguir mostra como usar uma instrução SELECT-WHEN na prática.
Exemplo: SELECT-WHEN em SAS
Suponha que temos o seguinte conjunto de dados no SAS que contém informações sobre vários jogadores de basquete:
/*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;
Podemos usar a seguinte instrução SELECT-WHEN para criar uma nova variável chamada Player_Status cujos valores dependem do valor na coluna de classificação :
/*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;
Veja como os valores foram gerados na nova coluna Player_Status :
- Se a classificação foi “Excelente”, então Player_Status recebeu 1 .
- Se a classificação fosse “Boa”, então Player_Status foi atribuído a 2 .
- Se a classificação fosse “OK”, então Player_Status recebeu 3 .
- Se a classificação não fosse igual a nenhum dos valores especificados anteriormente, então Player_Status receberia 4 .
Nota : Você pode encontrar a documentação completa da instrução SELECT no SAS aqui .
Recursos adicionais
Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:
O guia completo para loops DO em SAS
Como usar IF-THEN-DO no SAS