Sas တွင် lag function ကိုအသုံးပြုနည်း (ဥပမာများနှင့်အတူ)


variable တစ်ခု၏ပြောင်းထားသောတန်ဖိုးများကိုရယူရန် SAS ရှိ LAG လုပ်ဆောင်ချက်ကို သင်အသုံးပြုနိုင်သည်။

ဤလုပ်ဆောင်ချက်သည် အောက်ပါအခြေခံ syntax ကိုအသုံးပြုသည်-

 lag1_value = lag (value);

ပုံမှန်အားဖြင့်၊ lag သည် ကိန်းရှင်တစ်ခု၏ ယခင်တန်ဖိုးကို ရှာဖွေသည်။

သို့သော် သင်သည် lag2lag3lagn စသည်တို့ကိုသုံးနိုင်သည်။ 2 နှောင့်နှေးမှု၊ 3 နှောင့်နှေးမှု၊ n-lags စသည်တို့တွင် တန်ဖိုးများကို တွက်ချက်ရန်။

အောက်ဖော်ပြပါ ဥပမာများသည် lag လုပ်ဆောင်ချက်ကို လက်တွေ့တွင် အသုံးပြုနည်းကို ပြသထားသည်။

ဥပမာ 1: အချို့သော ကိန်းရှင်များအတွက် တွက်ချက်ထားသော Shifted တန်ဖိုးများ

ကျွန်ုပ်တို့တွင် ဆက်တိုက်ရက်များအတွင်း စတိုးဆိုင်တစ်ခုမှရောင်းချမှုစုစုပေါင်းကိုပြသသည့် 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 shift function ဥပမာ

ကော်လံအသစ်သုံးခု (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; 

စတိုးဆိုင်တစ်ဆိုင်လျှင် 1 ရက်ကြာ နောက်ကျနေသော အရောင်းတန်ဖိုးများကို တွက်ချက်ရန် အောက်ပါကုဒ်ကို အသုံးပြုနိုင်ပါသည်။

 /*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 ကော်လံရှိ တန်ဖိုးများသည် စတိုးတစ်ခုစီအတွက် 1-ရက်ကြာ နောက်ကျနေသော အရောင်းတန်ဖိုးများကို ဖော်ပြသည်။

အတန်း 7 ရှိ lag1_sales ၏တန်ဖိုးသည် ဤအတန်းအတွက် နောက်ကျသောတန်ဖိုးသည် အခြားစတိုးဆိုင်အတွက် အရောင်းတန်ဖိုးကို ကိုယ်စားပြုသောကြောင့် သတိပြုပါ။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် SAS တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-

SAS တွင်ဒေတာကိုပုံမှန်ဖြစ်အောင်လုပ်နည်း
SAS တွင် ထပ်တူများကို ဖယ်ရှားနည်း
ပျောက်ဆုံးနေသောတန်ဖိုးများကို SAS တွင် သုညဖြင့် အစားထိုးနည်း

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်