Panduan lengkap do loops di sas
Perulangan DO di SAS dapat digunakan untuk melakukan suatu tindakan beberapa kali.
Ada tiga loop DO dasar di SAS:
1. BUAT lingkarannya
data data1;
x = 0;
do i = 1 to 10;
x = i*4;
output ;
end ;
run ;
Kegunaan : Perulangan ini melakukan 10 iterasi, dari i = 1 hingga 10, dimana nilai tiap baris sama dengan i dikalikan 4.
Saat berhenti : Perulangan ini hanya berhenti setelah 10 iterasi.
2. LAKUKAN SELAMA putaran
data data2;
x = 0;
do i = 1 to 10 while(x < 20 );
x = i*4;
output ;
end ;
run ;
Kegunaan : Perulangan ini akan mencoba melakukan 10 iterasi, dari i = 1 hingga 10, dimana nilai tiap baris sama dengan i dikalikan 4.
Ketika berhenti : Perulangan ini akan berhenti ketika nilai x melebihi 20 atau ketika 10 iterasi telah selesai, mana saja yang lebih dulu.
3. Lakukan hingga loop
data data3;
x = 0;
do i = 1 to 10 until(x > 30 );
x = i*4;
output ;
end ;
run ;
Kegunaan : Perulangan ini akan mencoba melakukan 10 iterasi, dari i = 1 hingga 10, dimana nilai tiap baris sama dengan i dikalikan 4.
Ketika berhenti : Perulangan ini akan berhenti ketika nilai x melebihi 30 atau ketika 10 iterasi telah selesai, mana saja yang lebih dulu.
Contoh berikut menunjukkan cara menggunakan setiap perulangan DO dalam praktiknya.
Contoh 1: LAKUKAN putaran
Kita dapat menggunakan loop DO berikut untuk membuat kumpulan data 10 baris:
/*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;
Hasilnya adalah kumpulan data yang berisi 10 baris dimana nilai pada kolom i berkisar antara 1 sampai 10 dan nilai pada kolom x berkisar antara 4 sampai 40.
Perhatikan bahwa Anda dapat menggunakan drop i untuk menghapus kolom indeks dari kumpulan data:
/*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;
Contoh 2: Perulangan DO WHILE
Kita dapat menggunakan perulangan DO WHILE berikut untuk membuat dataset dengan variabel i dari i = 1 hingga 10, dimana nilai setiap baris sama dengan i dikalikan 4 sedangkan x kurang dari 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;
Perhatikan bahwa perulangan berhenti membuat baris setelah xa mencapai 20.
Contoh 3: LAKUKAN SAMPAI perulangan
Kita dapat menggunakan perulangan DO UNTIL berikut untuk membuat kumpulan data dengan variabel i dari i = 1 sampai 10, dimana nilai setiap baris sama dengan i dikalikan 4 sampai x lebih besar dari 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;
Perhatikan bahwa perulangan berhenti membuat baris setelah x melebihi 30.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di SAS:
Cara menormalkan data di SAS
Cara menghapus duplikat di SAS
Bagaimana cara mengganti nilai yang hilang dengan nol di SAS