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

Aggiungi un commento

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