كيف يمكننا أن نفعل التكرار الشرطي في مجموعة بيانات SAS
-
05-09-2019 - |
سؤال
كيف يمكننا أن نفعل التكرار في مجموعة بيانات SAS. على سبيل المثال لقد اخترت الأول. من متغير. وتريد العثور على حدوث حالة معينة وتعيين قيمة عند إرضاء
المحلول
خطوة بيانات SAS لديها حلقة مدمجة على الملاحظات. ليس عليك القيام بأي شيء، إلا إذا كنت ترغب في ذلك، لسبب ما. على سبيل المثال، يولد ما يلي رقما عشوائيا لكل ملاحظة:
data one;
set sashelp.class;
rannum = ranuni(0);
run;
إذا كنت ترغب في حلقة على المتغيرات، فهناك صفائف. على سبيل المثال، تهيئة المتغيرات التالية التالية، var1 إلى var10، مع أرقام عشوائية:
data one;
array vars[1:10] var1-var10;
do i = 1 to 10;
vars[i] = ranuni(0);
end;
run;
الأول. وأخيرا. يتم إنشاء الأعلام تلقائيا عند تعيين بيانات (فرزها) مع عبارة عن طريق. مثال:
proc sort data=sashelp.class out=class;
by age;
run;
data one;
set class;
by age;
first = first.age;
last = last.age;
run;
/* check */
proc print data=one;
run;
/* on lst
Obs Name Age first last
1 Joyce 11 1 0
2 Thomas 11 0 1
3 James 12 1 0
4 Jane 12 0 0
5 John 12 0 0
6 Louise 12 0 0
7 Robert 12 0 1
8 Alice 13 1 0
...
18 William 15 0 1
19 Philip 16 1 1
*/
لا تنتمي إلى StackOverflow