كيفية استخدام 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