Kompletny przewodnik po pętlach do w sas-ie


Pętli DO w SAS-ie można użyć do wykonania akcji określoną liczbę razy.

W SAS-ie istnieją trzy podstawowe pętle DO:

1. ZROB pętlę

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

Co robi : Ta pętla wykonuje 10 iteracji, od i = 1 do 10, gdzie wartość w każdym wierszu jest równa i pomnożona przez 4.

Kiedy się zatrzymuje : Ta pętla zatrzymuje się dopiero po 10 iteracjach.

2. ZRÓB W PĘTLI

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

Co robi : Ta pętla podejmie próbę wykonania 10 iteracji, od i = 1 do 10, gdzie wartość każdego wiersza jest równa i pomnożona przez 4.

Kiedy się zatrzyma : Ta pętla zatrzyma się, gdy wartość x przekroczy 20 lub gdy zostanie ukończonych 10 iteracji, w zależności od tego, co nastąpi wcześniej.

3. Wykonaj aż do pętli

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

Co robi : Ta pętla podejmie próbę wykonania 10 iteracji, od i = 1 do 10, gdzie wartość każdego wiersza jest równa i pomnożona przez 4.

Kiedy się zatrzyma : pętla zatrzyma się, gdy wartość x przekroczy 30 lub gdy zostanie ukończonych 10 iteracji, w zależności od tego, co nastąpi wcześniej.

Poniższe przykłady pokazują, jak w praktyce używać każdej pętli DO.

Przykład 1: pętla DO

Możemy użyć następującej pętli DO , aby utworzyć zestaw danych składający się z 10 wierszy:

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

Wynikiem jest zbiór danych zawierający 10 wierszy, gdzie wartości w kolumnie i mieszczą się w zakresie od 1 do 10, a wartości w kolumnie x mieszczą się w zakresie od 4 do 40.

Pamiętaj, że możesz użyć drop i , aby usunąć kolumnę indeksu ze zbioru danych:

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

Przykład 2: Pętla DO WHILE

Możemy użyć następującej pętli DO WHILE, aby utworzyć zbiór danych ze zmienną i od i = 1 do 10, gdzie wartość każdego wiersza jest równa i pomnożona przez 4 , podczas gdy x jest mniejsze niż 20:

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

Zauważ, że pętla przestała tworzyć wiersze, gdy xa osiągnęło 20.

Przykład 3: Pętla DO UNTIL

Możemy użyć następującej pętli DO UNTIL , aby utworzyć zbiór danych ze zmienną i od i = 1 do 10, gdzie wartość każdego wiersza jest równa i pomnożona przez 4, x będzie większe niż 30:

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

Zauważ, że pętla przestała tworzyć wiersze, gdy x przekroczyło 30.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:

Jak normalizować dane w SAS-ie
Jak usunąć duplikaty w SAS-ie
Jak zastąpić brakujące wartości zerem w SAS-ie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *