วิธีการคำนวณค่ากะใน r (พร้อมตัวอย่าง)


คุณสามารถใช้ฟังก์ชัน lag() จากแพ็คเกจ dplyr ใน R เพื่อคำนวณค่าความล่าช้า

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

ออฟเซ็ต(x, n=1, …)

ทอง:

  • x : เวกเตอร์ของค่า
  • n : จำนวนตำแหน่งที่จะล่าช้า

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้เพื่อคำนวณค่าที่เลื่อนในทางปฏิบัติ

ตัวอย่าง: การคำนวณค่าที่เลื่อนใน R

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ที่แสดงจำนวนยอดขายที่ร้านค้าทำได้ในช่วง 10 วันติดต่อกัน:

 #create data frame
df <- data. frame (day=1:10,
                 sales=c(18, 10, 14, 13, 19, 24, 25, 29, 15, 18))

#view data frame
df

   day sales
1 1 18
2 2 10
3 3 14
4 4 13
5 5 19
6 6 24
7 7 25
8 8 29
9 9 15
10 10 18

เราสามารถใช้ฟังก์ชัน lag() จากแพ็คเกจ dplyr เพื่อสร้างคอลัมน์ความล่าช้าที่แสดงยอดขายของวันก่อนหน้าสำหรับแต่ละแถว:

 library (dplyr)

#add new column that shows sales for previous day
df$previous_day_sales <- dplyr::lag(df$sales, n= 1 )

#view updated data frame
df

   day sales previous_day_sales
1 1 18 NA
2 2 10 18
3 3 14 10
4 4 13 14
5 5 19 13
6 6 24 19
7 7 25 24
8 8 29 25
9 9 15 29
10 10 18 15

ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:

  • ค่าแรกในคอลัมน์ออฟเซ็ตคือ NA เนื่องจากไม่มีค่าก่อนหน้าในคอลัมน์การขาย
  • ค่าที่สองในคอลัมน์ออฟเซ็ตคือ 18 เนื่องจากเป็นค่าก่อนหน้าในคอลัมน์ยอดขาย
  • ค่าที่สามในคอลัมน์ออฟเซ็ตคือ 10 เนื่องจากเป็นค่าก่อนหน้าในคอลัมน์ยอดขาย

และอื่นๆ

นอกจากนี้เรายังสามารถเปลี่ยนค่าของอาร์กิวเมนต์ n ในฟังก์ชัน lag() เพื่อคำนวณค่าความล่าช้าสำหรับจำนวนตำแหน่งก่อนหน้าที่แตกต่างกันได้:

 library (dplyr)

#add new column that shows sales for two days prior
df$previous_day_sales <- dplyr::lag(df$sales, n= 2 )

#view updated data frame
df

   day sales previous_day_sales
1 1 18 NA
2 2 10 NA
3 3 14 18
4 4 13 10
5 5 19 14
6 6 24 13
7 7 25 19
8 8 29 24
9 9 15 25
10 10 18 29

หมายเหตุ : หากต้องการสร้างคอลัมน์ลูกค้าเป้าหมาย ให้ใช้ฟังก์ชัน lead() จากแพ็คเกจ dplyr แทนฟังก์ชัน lag()

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ฟังก์ชันทั่วไปอื่นๆ ใน R:

วิธีใช้ฟังก์ชัน n() ใน dplyr
วิธีใช้ฟังก์ชัน cross() ใน dplyr
วิธีใช้ฟังก์ชัน relocate() ใน dplyr
วิธีใช้ฟังก์ชัน Slice() ใน dplyr

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

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