Der vollständige leitfaden zu do-schleifen in sas


Eine DO-Schleife in SAS kann verwendet werden, um eine Aktion eine bestimmte Anzahl von Malen auszuführen .

Es gibt drei grundlegende DO-Schleifen in SAS:

1. MACHEN Sie die Schleife

 data data1;
x = 0;
do i = 1 to 10;
   x = i*4;
   output ;
end ;
run ;

Was es tut : Diese Schleife führt 10 Iterationen von i = 1 bis 10 durch, wobei der Wert jeder Zeile gleich i multipliziert mit 4 ist.

Wenn es stoppt : Diese Schleife stoppt erst nach 10 Iterationen.

2. Führen Sie eine DURING-Schleife aus

 data data2;
x = 0;
do i = 1 to 10 while(x < 20 );
   x = i*4;
   output ;
end ;
run ;

Was es tut : Diese Schleife versucht, 10 Iterationen von i = 1 bis 10 durchzuführen, wobei der Wert jeder Zeile gleich i multipliziert mit 4 ist.

Wenn es stoppt : Diese Schleife stoppt, wenn der Wert von x 20 überschreitet oder wenn 10 Iterationen abgeschlossen wurden, je nachdem, was zuerst eintritt.

3. Machen Sie bis zur Schleife

 data data3;
x = 0;
do i = 1 to 10 until(x > 30 );
   x = i*4;
   output ;
end ;
run ;

Was es tut : Diese Schleife versucht, 10 Iterationen von i = 1 bis 10 durchzuführen, wobei der Wert jeder Zeile gleich i multipliziert mit 4 ist.

Wenn es stoppt : Diese Schleife stoppt, wenn der Wert von x 30 überschreitet oder wenn 10 Iterationen abgeschlossen wurden, je nachdem, was zuerst eintritt.

Die folgenden Beispiele zeigen, wie die einzelnen DO-Schleifen in der Praxis verwendet werden.

Beispiel 1: DO-Schleife

Wir können die folgende DO-Schleife verwenden, um einen Datensatz mit 10 Zeilen zu erstellen:

 /*use DO loop to create dataset*/
data data1;
x = 0;
do i = 1 to 10;
   x = i*4;
   output ;
end ;
run ;

/*view dataset*/
proc print data =data1;

Das Ergebnis ist ein Datensatz mit 10 Zeilen, wobei die Werte in Spalte i zwischen 1 und 10 und die Werte in Spalte x zwischen 4 und 40 liegen.

Beachten Sie, dass Sie drop i verwenden können, um die Indexspalte aus dem Datensatz zu löschen:

 /*use DO loop to create dataset*/
data data1;
x = 0;
do i = 1 to 10;
   x = i*4;
   output ;
end ;
drop i;
run ;

/*view dataset*/
proc print data =data1; 

Beispiel 2: DO WHILE-Schleife

Wir können die folgende DO WHILE-Schleife verwenden, um einen Datensatz mit der Variablen i von i = 1 bis 10 zu erstellen, wobei der Wert jeder Zeile gleich i multipliziert mit 4 ist , während x kleiner als 20 ist:

 /*use DO WHILE loop to create dataset*/
data data2;
x = 0;
do i = 1 to 10 while (x < 20 );
   x = i*4;
   output ;
end ;
run ;

/*view dataset*/
proc print data =data2; 

Beachten Sie, dass die Schleife aufgehört hat, Zeilen zu erstellen, sobald xa 20 erreicht hat.

Beispiel 3: DO UNTIL-Schleife

Wir können die folgende DO UNTIL-Schleife verwenden, um einen Datensatz mit der Variablen i von i = 1 bis 10 zu erstellen, wobei der Wert jeder Zeile gleich i multipliziert mit 4 ist , bis x größer als 30 ist:

 /*use DO UNTIL loop to create dataset*/
data data3;
x = 0;
do i = 1 to 10 until (x > 30 );
   x = i*4;
   output ;
end ;
run ;

/*view dataset*/
proc print data =data3; 

Beachten Sie, dass die Schleife die Erstellung von Zeilen beendet hat, sobald x 30 überschritten hat.

Zusätzliche Ressourcen

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

So normalisieren Sie Daten 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