كيفية استخدام proc transpose في sas (مع أمثلة)


يمكنك استخدام PROC TRANSPOSE في SAS لنقل مجموعة بيانات بسرعة من التنسيق الطويل إلى التنسيق الواسع .

تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:

 proc transpose data =long_data out =wide_data;
    by var1;
    idvar2 ;
    var var3;
run ;

ذهب:

  • بواسطة : المتغير الذي سيتم وضعه على طول الخطوط
  • المعرف : المتغير الذي سيتم وضعه على طول الأعمدة
  • var : المتغير الذي تم وضع قيمه في مجموعة البيانات

يوضح المثال التالي كيفية استخدام PROC TRANSPOSE عمليًا.

مثال: كيفية استخدام PROC TRANSPOSE في SAS

لنفترض أن لدينا مجموعة البيانات التالية بتنسيق طويل في SAS:

 /*create dataset in long format*/
data long_data;
    input team $variable $value;
    datalines ;
A Points 88
A Assists 12
A Rebounds 22
B Points 91
B Assists 17
B Rebounds 28
C Points 99
C Assists 24
C Rebounds 30
D Points 94
D Assists 28
D Rebounds 31
;
run ;

/*view dataset*/
proc print data =long_data; 

يمكننا استخدام PROC TRANSPOSE لتحويل مجموعة البيانات هذه من التنسيق الطويل إلى التنسيق الواسع:

 /*create new dataset in wide format*/
proc transpose data =long_data out =wide_data;
    by team;
    variableid ;
    varvalue ;
run ;

/*view wide data*/
proc print data =wide_data; 

لاحظ أن مجموعة البيانات هذه تحتوي على نفس المعلومات الموجودة في مجموعة البيانات السابقة، ولكن يتم عرضها ببساطة بتنسيق واسع.

افتراضيًا، تقوم SAS بإنشاء متغير _NAME_ يشير إلى المتغير المستخدم للقيم الموجودة في مجموعة البيانات.

لا تتردد في استخدام عبارة DROP لإزالة هذا المتغير عند استخدام PROC TRANSPOSE :

 /*create new dataset in wide format*/
proc transpose data =long_data out =wide_data( drop =_name_);
    by team;
    variableid ;
    varvalue ;
run ;

/*view wide data*/
proc print data =wide_data; 

لاحظ أنه تمت إزالة المتغير _NAME_ من مجموعة البيانات.

مصادر إضافية

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

كيفية استخدام ملخص الإجراء في SAS
كيفية استخدام Proc Tabulate في SAS
كيفية إنشاء الجداول التكرارية في SAS

Add a Comment

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