วิธีการคำนวณค่าเฉลี่ยสะสมใน 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

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

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