Hoe u een do while-instructie in sas gebruikt
U kunt een DO WHILE -instructie in SAS gebruiken om steeds opnieuw een lus te maken terwijl een voorwaarde waar blijft.
De volgende voorbeelden laten twee verschillende manieren zien waarop u deze instructie in de praktijk kunt gebruiken.
Voorbeeld 1: DO WHILE-instructie in SAS
De volgende code laat zien hoe u een DO WHILE -instructie in SAS kunt gebruiken om een gegevensset te maken met twee variabelen, genaamd var1 en var2 , die nieuwe waarden blijven genereren , ook al is de waarde van var1 kleiner dan 100:
/*create dataset using DO WHILE statement*/
data my_data;
var1 = 1;
var2 = 1;
dowhile (var1<100);
var1 = var1 + var2;
var2 = var1 * var2;
var1 + 1;
output ;
end ;
run ;
/*view dataset*/
proc print data =my_data;
De DO WHILE- instructie bleef nieuwe waarden genereren voor var1 en var2 , ook al was de waarde van var1 minder dan 100.
Zodra de waarde van var1 de 100 overschreed, stopte de DO WHILE -instructie en werden er geen nieuwe waarden meer toegevoegd aan de dataset.
Voorbeeld 2: DO WHILE-instructie met TO-instructie in SAS
De volgende code laat zien hoe u een DO WHILE -instructie met een TO- instructie in SAS kunt gebruiken om een gegevensset te maken met twee variabelen genaamd var1 en var2 die nieuwe waarden blijven genereren , ook al is de waarde van var1 kleiner dan 10:
/*create dataset using DO WHILE statement with TO statement*/
data my_data;
var1 = 0;
do var2 = 1 to 5 while (var1 < 10);
var1 = var2**3;
output ;
end ;
run ;
/*view dataset*/
proc print data =my_data;
De TO- instructie gaf SAS de opdracht om te proberen waarden voor var2 te genereren variërend van 1 tot 5, maar alleen als de waarde van var1 kleiner was dan 10.
Zodra de waarde van var1 de 10 overschreed, stopte de DO WHILE -instructie en werden er geen nieuwe waarden meer toegevoegd aan de dataset.
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
IF-THEN-DO gebruiken in SAS
IF-THEN-ELSE gebruiken in SAS
Hoe duplicaten in SAS te verwijderen