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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *