วิธีการคำนวณควอนไทล์ตามกลุ่มใน r (พร้อมตัวอย่าง)
ในสถิติ ควอไทล์ คือค่าที่แบ่งชุดข้อมูลที่จัดประเภทออกเป็นกลุ่มเท่าๆ กัน
ในการคำนวณควอนไทล์ที่จัดกลุ่มตามตัวแปรบางตัวใน R เราสามารถใช้ฟังก์ชันต่อไปนี้จากแพ็คเกจ dplyr ใน R:
library (dplyr) #define quantiles of interest q = c(.25, .5, .75) #calculate quantiles by grouping variable df %>% group_by(grouping_variable) %>% summarize(quant25 = quantile (numeric_variable, probs = q[1]), quant50 = quantile (numeric_variable, probs = q[2]), quant75 = quantile (numeric_variable, probs = q[3]))
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: ปริมาณตามกลุ่มใน R
รหัสต่อไปนี้แสดงวิธีคำนวณควอไทล์ของจำนวนชัยชนะที่จัดกลุ่มตามทีมสำหรับชุดข้อมูลใน R:
library (dplyr) #create data df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C'), wins=c(2, 4, 4, 5, 7, 9, 13, 13, 15, 15, 14, 13, 11, 9, 9, 8, 8, 16, 19, 21, 24, 20, 19, 18)) #view first six rows of data head(df) team wins 1 TO 2 2 to 4 3 to 4 4 to 5 5 TO 7 6 to 9 #define quantiles of interest q = c(.25, .5, .75) #calculate quantiles by grouping variable df %>% group_by(team) %>% summarize(quant25 = quantile (wins, probs = q[1]), quant50 = quantile (wins, probs = q[2]), quant75 = quantile (wins, probs = q[3])) team quant25 quant50 quant75 1 to 4 6 10 2 B 9 12 14.2 3 C 17.5 19 20.2
โปรดทราบว่าเราสามารถระบุจำนวนควอไทล์ที่เราต้องการได้:
#define quantiles of interest q = c(.2, .4, .6, .8) #calculate quantiles by grouping variable df %>% group_by(team) %>% summarize(quant20 = quantile (wins, probs = q[1]), quant40 = quantile (wins, probs = q[2]), quant60 = quantile (wins, probs = q[3]), quant80 = quantile (wins, probs = q[4])) team quant20 quant40 quant60 quant80 1 to 4 4.8 7.4 11.4 2 B 9 10.6 13.2 14.6 3 C 16.8 18.8 19.2 20.6
คุณยังสามารถเลือกที่จะคำนวณควอนไทล์เดี่ยวต่อกลุ่มได้ด้วย ตัวอย่างเช่น ต่อไปนี้คือวิธีคำนวณเปอร์เซ็นไทล์ที่ 90 ของจำนวนชัยชนะของแต่ละทีม:
#calculate 90th percentile of wins by team df %>% group_by(team) %>% summarize(quant90 = quantile (wins, probs = 0.9 )) team quant90 1 to 13 2 B 15 3 C 21.9
แหล่งข้อมูลเพิ่มเติม
วิธีการคำนวณควอไทล์ใน R
วิธีการคำนวณเดซิลใน R
วิธีการคำนวณเปอร์เซ็นไทล์ใน R