If-then-else gebruiken in sas (met voorbeelden)
U kunt een IF-THEN-ELSE- instructie in SAS gebruiken om een waarde te retourneren als een voorwaarde waar is, en anders een andere waarde retourneren als een voorwaarde niet waar is.
Deze verklaring gebruikt de volgende basissyntaxis:
if var1 > 30 then var2 = 'good';
else var2 = 'bad';
U kunt ook meerdere ELSE IF -instructies aan elkaar koppelen om meer potentiële waarden te retourneren op basis van meer voorwaarden:
if var1 > 35 then var2 = 'great';
else if var1 > 30 then var2 = 'good';
else var2 = 'bad';
De volgende voorbeelden laten zien hoe u elk van deze instructies in de praktijk kunt gebruiken met de volgende gegevensset 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;
Voorbeeld 1: ALS-DAN-ELSE in SAS
We kunnen de volgende IF-THEN-ELSE -instructie gebruiken om een nieuwe variabele te maken met de naam rating , die de waarde ‚goed‘ aanneemt als de waarde in de puntenkolom groter is dan 30, en anders de waarde ’slecht‘:
/*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;
Merk op dat de nieuwe kolom met de naam beoordeling de waarde ‚goed‘ aanneemt als de waarde van de puntenkolom groter is dan 30, en anders de waarde ’slecht‘.
Voorbeeld 2: ALS-DAN-ELSE ALS in SAS
We kunnen de volgende IF-THEN-ELSE IF- instructie gebruiken om een nieuwe variabele te maken met de naam rating , die de volgende waarden aanneemt:
- “super” als de punten groter zijn dan 35
- anders “goed” als de punten groter zijn dan 30
- anders „slecht“
De volgende code laat zien hoe u dit doet:
/*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;
De nieuwe kolom met de naam beoordeling krijgt de waarde „uitstekend“, „goed“ of „slecht“, afhankelijk van de overeenkomstige waarde in de puntenkolom .
Opmerking : voel je vrij om zoveel ELSE IF -instructies te gebruiken als je wilt, en zoveel verschillende waarden te retourneren als je wilt op basis van verschillende voorwaarden.
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
IF-THEN-DO gebruiken in SAS
Hoe duplicaten in SAS te verwijderen
Hoe ontbrekende waarden te vervangen door nul in SAS