كيف يمكننا أن نفعل التكرار الشرطي في مجموعة بيانات SAS

StackOverflow https://stackoverflow.com/questions/560132

  •  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
*/
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top