วิธีการคำนวณค่าเฉลี่ยสะสมใน r
ค่าเฉลี่ยสะสม บอกเราถึงค่าเฉลี่ยของชุดค่าต่างๆ จนถึงจุดหนึ่ง
คุณสามารถใช้วิธีการต่อไปนี้เพื่อคำนวณค่าเฉลี่ยสะสมใน R:
วิธีที่ 1: ใช้ Base R
cum_avg <- cumsum(x) / seq_along(x)
วิธีที่ 2: ใช้ dplyr
library (dplyr)
cum_avg <- cummean(x)
ทั้งสองวิธีส่งคืนผลลัพธ์ที่เหมือนกันทุกประการ แต่วิธี dplyr มีแนวโน้มที่จะทำงานเร็วกว่าในเฟรมข้อมูลขนาดใหญ่
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้ใน R:
#create data frame df <- data. frame (day=seq(1:16), sales=c(3, 6, 0, 2, 4, 1, 0, 1, 4, 7, 3, 3, 8, 3, 5, 5)) #view head of data frame head(df) day sales 1 1 3 2 2 6 3 3 0 4 4 2 5 5 4 6 6 1
ตัวอย่างที่ 1: คำนวณค่าเฉลี่ยสะสมโดยใช้ฐาน R
เราสามารถใช้โค้ดต่อไปนี้เพื่อเพิ่มคอลัมน์ใหม่ลงในกรอบข้อมูลของเราซึ่งแสดงยอดขายเฉลี่ยสะสม:
#add new column that contains cumulative avg. of sales
df$cum_avg_sales <- cumsum(df$sales) / seq_along(df$sales)
#view updated data frame
df
day sales cum_avg_sales
1 1 3 3.000000
2 2 6 4.500000
3 3 0 3.000000
4 4 2 2.750000
5 5 4 3.000000
6 6 1 2.666667
7 7 0 2.285714
8 8 1 2.125000
9 9 4 2.333333
10 10 7 2.800000
11 11 3 2.818182
12 12 3 2.833333
13 13 8 3.230769
14 14 3 3.214286
15 15 5 3.333333
16 16 5 3.437500
เราจะตีความค่าเฉลี่ยสะสมเป็น:
- ค่าเฉลี่ยสะสมของมูลค่าการขายครั้งแรกคือ 3
- ค่าเฉลี่ยสะสมของมูลค่าการขายสองรายการแรกคือ 4.5
- ค่าเฉลี่ยสะสมของมูลค่าการขายสามรายการแรกคือ 3
- ค่าเฉลี่ยสะสมของมูลค่าการขายสี่รายการแรกคือ 2.75
และอื่นๆ
ตัวอย่างที่ 2: คำนวณค่าเฉลี่ยสะสมโดยใช้ dplyr
นอกจากนี้เรายังสามารถใช้ฟังก์ชัน cummean จากแพ็คเกจ dplyr ใน R เพื่อคำนวณค่าเฉลี่ยสะสม
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้เพื่อเพิ่มคอลัมน์ใหม่ลงในกรอบข้อมูลของเราซึ่งแสดงยอดขายเฉลี่ยสะสม:
library (dplyr)
#add new column that contains cumulative avg. of sales
df$cum_avg_sales <- cummean(df$sales)
#view updated data frame
df
day sales cum_avg_sales
1 1 3 3.000000
2 2 6 4.500000
3 3 0 3.000000
4 4 2 2.750000
5 5 4 3.000000
6 6 1 2.666667
7 7 0 2.285714
8 8 1 2.125000
9 9 4 2.333333
10 10 7 2.800000
11 11 3 2.818182
12 12 3 2.833333
13 13 8 3.230769
14 14 3 3.214286
15 15 5 3.333333
16 16 5 3.437500
โปรดทราบว่าวิธีนี้จะให้ผลลัพธ์เหมือนกับวิธีก่อนหน้าทุกประการ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีคำนวณหน่วยวัดทั่วไปอื่นๆ ใน R:
วิธีการคำนวณค่าเฉลี่ยที่ถูกตัดแต่งใน R
วิธีคำนวณค่าเฉลี่ยเรขาคณิตใน R
วิธีการคำนวณค่าเฉลี่ยถ่วงน้ำหนักใน R