วิธีใช้ฟังก์ชัน lag ใน sas (พร้อมตัวอย่าง)


คุณสามารถใช้ฟังก์ชัน LAG ใน SAS เพื่อดึงค่าที่เลื่อนของตัวแปรได้

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

 lag1_value = lag (value);

ตามค่าเริ่มต้น ความล่าช้า จะค้นหาค่าก่อนหน้าของตัวแปร

อย่างไรก็ตาม คุณสามารถใช้ lag2 , lag3 , lagn ฯลฯ เพื่อคำนวณค่าที่ 2 ดีเลย์, 3 ดีเลย์, ที่ n-lags เป็นต้น

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชัน lag ในทางปฏิบัติ

ตัวอย่างที่ 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; 

เราสามารถใช้โค้ดต่อไปนี้เพื่อคำนวณมูลค่าการขายล่าช้า 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 วันสำหรับแต่ละร้านค้า

โปรดทราบว่าค่า lag1_sales ในแถวที่ 7 ว่างเปล่า เนื่องจากค่าความล่าช้าของหนึ่งวันสำหรับแถวนี้แสดงถึงมูลค่าการขายสำหรับร้านค้าอื่น

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:

วิธีทำให้ข้อมูลเป็นมาตรฐานใน SAS
วิธีลบรายการที่ซ้ำกันใน SAS
วิธีแทนที่ค่าที่หายไปด้วยศูนย์ใน SAS

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *