Come utilizzare if-then-else in sas (con esempi)
È possibile utilizzare un’istruzione IF-THEN-ELSE in SAS per restituire un valore se una condizione è vera, altrimenti restituire un altro valore se una condizione non è vera.
Questa istruzione utilizza la seguente sintassi di base:
if var1 > 30 then var2 = 'good';
else var2 = 'bad';
Puoi anche concatenare più istruzioni ELSE IF insieme per restituire più valori potenziali in base a più condizioni:
if var1 > 35 then var2 = 'great';
else if var1 > 30 then var2 = 'good';
else var2 = 'bad';
I seguenti esempi mostrano come utilizzare nella pratica ciascuna di queste istruzioni con il seguente set di dati in SAS:
/*create dataset*/
data original_data;
input team $points;
datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32
Mavs 35
Celtics 36
Celtics 40
;
run ;
/*view dataset*/
proc print data = original_data;
Esempio 1: IF-THEN-ELSE in SAS
Possiamo usare la seguente istruzione IF-THEN-ELSE per creare una nuova variabile chiamata rating che assume il valore “buono” se il valore nella colonna dei punti è maggiore di 30 o il valore “cattivo” altrimenti:
/*create new dataset with new variable called rating*/ data new_data; set original_data; if points > 30 then rating = 'good'; else rating = 'bad'; run ; /*view new dataset*/ proc print data =new_data;
Da notare che la nuova colonna denominata rating assume il valore “buono” se il valore della colonna punti è maggiore di 30 o il valore “cattivo” altrimenti.
Esempio 2: IF-THEN-ELSE IF in SAS
Possiamo utilizzare la seguente istruzione IF-THEN-ELSE IF per creare una nuova variabile denominata rating che assume i seguenti valori:
- “super” se i punti sono superiori a 35
- altrimenti “buono” se i punti sono superiori a 30
- altrimenti “cattivo”
Il codice seguente mostra come eseguire questa operazione:
/*create new dataset with new variable called rating*/ data new_data; set original_data; if points > 35 then rating = 'great'; else if points > 30 then rating = 'good'; else rating = 'bad'; run ; /*view new dataset*/ proc print data =new_data;
La nuova colonna denominata rating assume il valore “ottimo”, “buono” o “scarso” a seconda del valore corrispondente nella colonna punti .
Nota : sentiti libero di utilizzare tutte le istruzioni ELSE IF che desideri per restituire tutti i valori diversi che desideri in base a varie condizioni.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:
Come utilizzare IF-THEN-DO in SAS
Come rimuovere i duplicati in SAS
Come sostituire i valori mancanti con zero in SAS