Verwendung von if-then-else in sas (mit beispielen)


Sie können eine IF-THEN-ELSE- Anweisung in SAS verwenden, um einen Wert zurückzugeben , wenn eine Bedingung wahr ist, andernfalls einen anderen Wert zurückzugeben, wenn eine Bedingung nicht wahr ist.

Diese Anweisung verwendet die folgende grundlegende Syntax:

 if var1 > 30 then var2 = 'good';
else var2 = 'bad';

Sie können auch mehrere ELSE IF- Anweisungen miteinander verketten, um basierend auf mehr Bedingungen mehr potenzielle Werte zurückzugeben:

 if var1 > 35 then var2 = 'great';
else if var1 > 30 then var2 = 'good';
else var2 = 'bad';

Die folgenden Beispiele zeigen, wie jede dieser Anweisungen in der Praxis mit dem folgenden Datensatz in SAS verwendet wird:

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

Beispiel 1: IF-THEN-ELSE in SAS

Mit der folgenden IF-THEN-ELSE- Anweisung können wir eine neue Variable namens „ Bewertung “ erstellen, die den Wert „gut“ annimmt, wenn der Wert in der Punktespalte größer als 30 ist, andernfalls den Wert „schlecht“:

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

Beachten Sie, dass die neue Spalte „ Bewertung “ den Wert „gut“ annimmt, wenn der Wert der Punktespalte größer als 30 ist, andernfalls den Wert „schlecht“.

Beispiel 2: IF-THEN-ELSE IF in SAS

Wir können die folgende IF-THEN-ELSE IF- Anweisung verwenden, um eine neue Variable namens „Bewertung“ zu erstellen, die die folgenden Werte annimmt:

  • „super“, wenn die Punkte größer als 35 sind
  • andernfalls „gut“, wenn die Punkte größer als 30 sind
  • sonst „schlecht“

Der folgende Code zeigt, wie das geht:

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

Die neue Spalte „ Bewertung “ nimmt abhängig vom entsprechenden Wert in der Punktespalte den Wert „sehr gut“, „gut“ oder „mangelhaft“ an.

Hinweis : Sie können beliebig viele ELSE-IF- Anweisungen verwenden, um basierend auf verschiedenen Bedingungen so viele verschiedene Werte zurückzugeben, wie Sie möchten.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in SAS ausführen:

So verwenden Sie IF-THEN-DO in SAS
So entfernen Sie Duplikate in SAS
So ersetzen Sie fehlende Werte in SAS durch Null

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert