Come utilizzare select-when in sas (con esempio)


È possibile utilizzare un’istruzione SELECT-WHEN in SAS per assegnare valori a una nuova variabile in base ai valori di una variabile categoriale esistente in un set di dati.

Questa istruzione utilizza la seguente sintassi di base:

 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 ;

Questa sintassi produce una nuova colonna chiamata New_Column i cui valori dipendono dai valori di Existing_Column .

L’esempio seguente mostra come utilizzare nella pratica un’istruzione SELECT-WHEN .

Esempio: SELECT-WHEN in SAS

Supponiamo di avere il seguente set di dati in SAS che contiene informazioni su vari giocatori di basket:

 /*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; 

Possiamo utilizzare la seguente istruzione SELECT-WHEN per creare una nuova variabile chiamata Player_Status i cui valori dipendono dal valore nella colonna di valutazione :

 /*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; 

Ecco come sono stati generati i valori nella nuova colonna Player_Status :

  • Se la valutazione era “Eccellente”, Player_Status ha ricevuto 1 .
  • Se la valutazione era “Buona”, Player_Status veniva assegnato a 2 .
  • Se la valutazione era “OK”, allora Player_Status veniva assegnato 3 .
  • Se la valutazione non corrispondeva a nessuno dei valori specificati in precedenza, veniva assegnato Player_Status 4 .

Nota : è possibile trovare la documentazione completa dell’istruzione SELECT in SAS qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:

La guida completa ai loop DO in SAS
Come utilizzare IF-THEN-DO in SAS

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *