كيفية استخدام وظيفة lag في sas (مع أمثلة)


يمكنك استخدام وظيفة LAG في SAS لاسترداد القيم المتغيرة للمتغير.

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

 lag1_value = lag (value);

افتراضيًا، يبحث lag عن القيمة السابقة للمتغير.

ومع ذلك، يمكنك استخدام lag2 و lag3 و lagn وما إلى ذلك. لحساب القيم عند تأخيرين، عند 3 تأخيرات، عند تأخيرات n، وما إلى ذلك.

توضح الأمثلة التالية كيفية استخدام وظيفة التأخر عمليًا.

مثال 1: القيم المتغيرة المحسوبة لمتغيرات معينة

لنفترض أن لدينا مجموعة البيانات التالية في SAS والتي توضح إجمالي المبيعات التي أجراها المتجر في أيام متتالية:

 /*create dataset*/
data original_data;
    input day $sales;
    datalines ;
1 14
2 19
3 22
4 20
5 16
6 26
7 40
8 43
9 29
10 30
11 35
12 33
;
run ;

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

الكود التالي يوضح كيفية حساب قيمة المبيعات المتأخرة بـ 1 و 2 و 3 أيام:

 /*create new dataset that shows lagged values of sales*/
data new_data;
    set original_data;
    lag1_sales = lag(sales);
    lag2_sales = lag2(sales);
    lag3_sales = lag3(sales);
run ;

/*view new dataset*/
proc print data = new_data; 

مثال على وظيفة التحول SAS

تعرض الأعمدة الثلاثة الجديدة (lag1_sales، lag2_sales، lag3_sales) المبيعات المتأخرة بيوم واحد ويومين وثلاثة أيام على التوالي.

مثال 2: القيم المتغيرة المحسوبة حسب المجموعة

لنفترض أن لدينا مجموعة البيانات التالية في SAS والتي توضح إجمالي المبيعات التي أجراها متجران في أيام متتالية:

 /*create dataset*/
data original_data;
    input store $sales;
    datalines ;
At 14
At 19
At 22
At 20
At 16
At 26
B40
B43
B29
B 30
B35
B 33
;
run ;

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

يمكننا استخدام الكود التالي لحساب قيم المبيعات المتأخرة لمدة يوم واحد لكل متجر:

 /*create new dataset that shows lagged values of sales by store*/
data new_data;
	set original_data;
	by store;
	lag1_sales = lag(sales);
	if first.store then lag1_sales = .;
run ;

/*view new dataset*/
proc print data = new_data; 

SAS يقابلها المجموعة

تعرض القيم الموجودة في العمود lag1_sales قيم المبيعات المتأخرة لمدة يوم واحد لكل متجر.

لاحظ أن قيمة lag1_sales في الصف 7 فارغة لأن قيمة تأخر يوم واحد لهذا الصف تمثل قيمة مبيعات لمتجر آخر.

مصادر إضافية

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

كيفية تطبيع البيانات في SAS
كيفية إزالة التكرارات في SAS
كيفية استبدال القيم المفقودة بالصفر في SAS

Add a Comment

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