الدليل الكامل للقيام بالحلقات في sas


يمكن استخدام حلقة DO في SAS لتنفيذ إجراء ما لعدد معين من المرات.

هناك ثلاث حلقات DO أساسية في SAS:

1. اصنع الحلقة

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

ماذا تفعل : تنفذ هذه الحلقة 10 تكرارات، من i = 1 إلى 10، حيث تساوي قيمة كل صف i مضروبًا في 4.

عندما تتوقف : تتوقف هذه الحلقة فقط بعد 10 تكرارات.

2. افعل ذلك أثناء الحلقة

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

ماذا تفعل : ستحاول هذه الحلقة إجراء 10 تكرارات، من i = 1 إلى 10، حيث تساوي قيمة كل صف i مضروبًا في 4.

عندما تتوقف : ستتوقف هذه الحلقة عندما تتجاوز قيمة x 20 أو عند اكتمال 10 تكرارات، أيهما يأتي أولاً.

3. افعل حتى الحلقة

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

ماذا تفعل : ستحاول هذه الحلقة إجراء 10 تكرارات، من i = 1 إلى 10، حيث تساوي قيمة كل صف i مضروبًا في 4.

عندما تتوقف : ستتوقف هذه الحلقة عندما تتجاوز قيمة x 30 أو عند اكتمال 10 تكرارات، أيهما يأتي أولاً.

توضح الأمثلة التالية كيفية استخدام كل حلقة DO عمليًا.

مثال 1: قم بالتكرار

يمكننا استخدام حلقة DO التالية لإنشاء مجموعة بيانات مكونة من 10 صفوف:

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

والنتيجة هي مجموعة بيانات تحتوي على 10 صفوف حيث تتراوح القيم في العمود i من 1 إلى 10 والقيم في العمود x تتراوح من 4 إلى 40.

لاحظ أنه يمكنك استخدام drop i لإسقاط عمود الفهرس من مجموعة البيانات:

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

المثال 2: افعل أثناء التكرار

يمكننا استخدام حلقة DO WHILE التالية لإنشاء مجموعة بيانات بمتغير i من i = 1 إلى 10، حيث تساوي قيمة كل صف i مضروبًا في 4 بينما x أقل من 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; 

لاحظ أن الحلقة توقفت عن إنشاء الصفوف بمجرد وصول xa إلى 20.

مثال 3: قم بالتكرار حتى النهاية

يمكننا استخدام حلقة DO UNTIL التالية لإنشاء مجموعة بيانات بمتغير i من i = 1 إلى 10، حيث تساوي قيمة كل صف i مضروبًا في 4 حتى تصبح x أكبر من 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; 

لاحظ أن الحلقة توقفت عن إنشاء الصفوف بمجرد تجاوز x 30.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في SAS:

كيفية تطبيع البيانات في SAS
كيفية إزالة التكرارات في SAS
كيفية استبدال القيم المفقودة بالصفر في SAS

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *