Sas: الفرق بين put و input
يمكنك استخدام وظائف PUT و INPUT في SAS لتحويل المتغيرات إلى أنواع بيانات مختلفة.
وهنا الفرق بين الوظيفتين:
تأخذ الدالة PUT متغيرات الأحرف أو الأرقام كمدخلات وتقوم دائمًا بإخراج متغيرات الأحرف .
تأخذ الدالة INPUT متغيرات الأحرف فقط كمدخلات ويمكنها إخراج متغيرات الأحرف أو الأرقام .
توضح الأمثلة التالية طريقتين شائعتين لاستخدام الدالتين PUT و INPUT عمليًا.
مثال 1: استخدام PUT لتحويل متغير رقمي إلى متغير حرف
لنفترض أن لدينا مجموعة البيانات التالية في SAS والتي توضح إجمالي المبيعات التي أجراها المتجر لمدة 10 أيام متتالية:
/*create dataset*/ data original_data; input day sales; datalines ; 1 7 2 12 3 15 4 14 5 13 6 11 7 10 8 16 9 18 10 24 ; run ; /*view dataset*/ proc print data = original_data;
يمكننا استخدام محتويات الإجراء لعرض نوع البيانات لكل متغير في مجموعة البيانات:
/*display data type for each variable*/
proc contents data =original_data;
يمكننا أن نرى ذلك اليوم والمبيعات كلاهما متغيرات رقمية.
يمكننا استخدام الدالة PUT لتحويل متغير اليوم من رقمي إلى حرف:
/*create new dataset where 'day' is character*/
data new_data;
set original_data;
char_day = put (day, 8.);
drop day;
run ;
/*view new dataset*/
proc print data =new_data;
يمكننا مرة أخرى استخدام محتويات proc للتحقق من نوع البيانات لكل متغير في مجموعة البيانات الجديدة:
/*display data type for each variable in new dataset*/
proc contents data =new_data;
لقد نجحنا في استخدام الدالة PUT لتحويل متغير اليوم من رقمي إلى متغير حرف جديد يسمى char_day .
مثال 2: استخدام INPUT لتحويل متغير حرف إلى متغير رقمي
لنفترض أن لدينا مجموعة البيانات التالية في SAS والتي توضح إجمالي المبيعات التي أجراها المتجر لمدة 10 أيام متتالية:
/*create dataset*/ data original_data; input day $sales; datalines ; 1 7 2 12 3 15 4 14 5 13 6 11 7 10 8 16 9 18 10 24 ; run ; /*view dataset*/ proc print data = original_data;
يمكننا استخدام محتويات الإجراء لعرض نوع البيانات لكل متغير في مجموعة البيانات:
/*display data type for each variable*/
proc contents data =original_data;
يمكننا أن نرى أن هذا اليوم هو متغير حرفي والمبيعات متغير رقمي.
يمكننا استخدام الدالة INPUT لتحويل متغير اليوم من حرف إلى رقمي:
/*create new dataset where 'day' is numeric*/
data new_data;
set original_data;
numeric_day = input (day, comma9.);
drop day;
run ;
/*view new dataset*/
proc print data =new_data;
يمكننا مرة أخرى استخدام محتويات proc للتحقق من نوع البيانات لكل متغير في مجموعة البيانات الجديدة:
/*display data type for each variable in new dataset*/
proc contents data = new_data;
لقد نجحنا في استخدام الدالة INPUT لتحويل متغير اليوم من متغير حرف إلى متغير رقمي جديد يسمى numeric_day .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في SAS:
SAS: كيفية تحويل متغير حرف إلى رقمي
SAS: كيفية تحويل متغير رقمي إلى حرف
SAS: كيفية تحويل متغير الحرف إلى تاريخ
SAS: كيفية تحويل متغير رقمي إلى تاريخ