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