วิธีการวาด boxplots ด้วยค่าเฉลี่ยใน r (พร้อมตัวอย่าง)
คุณสามารถใช้วิธีการต่อไปนี้เพื่อวาดพล็อตกล่องด้วยค่าเฉลี่ยใน R:
วิธีที่ 1: ใช้ Base R
#create boxplots boxplot(df$values~df$group) #calculate mean value by group means <- tapply(df$values, df$group, mean) #add means as circles to each boxplot points(means, pch= 20 )
วิธีที่ 2: ใช้ ggplot2
library (ggplot2)
#create boxplots with mean values shown as circles
ggplot(df, aes(x=group, y=values, fill=group)) +
geom_boxplot() +
stat_summary(fun=mean, geom=' point ', shape= 20 )
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้ใน R:
#create data frame
df <- data. frame (team=rep(c('A', 'B', 'C'), each= 5 ),
points=c(4, 4, 5, 6, 8, 7, 6, 8, 9, 12,
11, 12, 13, 16, 18))
#view first six rows of data frame
head(df)
team points
1 to 4
2 to 4
3 to 5
4 to 6
5 to 8
6 B 7
ตัวอย่างที่ 1: สร้าง boxplots ด้วยค่าเฉลี่ยในฐาน R
รหัสต่อไปนี้แสดงวิธีสร้าง boxplots ด้วยค่าเฉลี่ยในฐาน R:
#create boxplots boxplot(df$points~df$team) #calculate mean value by group means <- tapply(df$points, df$team, mean) #add means as circles to each boxplot points(means, pch= 20 , cex= 1.5 )
เส้นสีดำภายในแต่ละ boxplot แสดงถึงค่า มัธยฐาน และวงกลมสีดำภายในแต่ละ boxplot แสดงถึงค่า เฉลี่ย
หมายเหตุ : เปลี่ยนค่าของอาร์กิวเมนต์ cex เพื่อเปลี่ยนขนาดของวงกลม
ตัวอย่างที่ 2: สร้าง boxplots ด้วยค่าเฉลี่ยใน ggplot2
รหัสต่อไปนี้แสดงวิธีสร้าง boxplots ด้วยค่าเฉลี่ยใน ggplot2:
library (ggplot2) #create boxplots with mean values ggplot(df, aes(x=team, y=points, fill=team)) + geom_boxplot() + stat_summary(fun=mean, geom=' point ', shape= 20 , size= 8 ) + theme(legend. position = ' none ')
เส้นสีดำภายในแต่ละ boxplot แสดงถึงค่า มัธยฐาน และวงกลมสีดำภายในแต่ละ boxplot แสดงถึงค่า เฉลี่ย
หมายเหตุ : เปลี่ยนค่าของอาร์กิวเมนต์ ขนาด ในฟังก์ชัน stat_summary() เพื่อเปลี่ยนขนาดของวงกลม
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้นำเสนอข้อมูลเพิ่มเติมเกี่ยวกับ boxplots:
เมื่อใดที่คุณควรใช้ box plot? (3 สถานการณ์)
วิธีการระบุความไม่สมมาตรในแปลงกล่อง
วิธีเปรียบเทียบแปลงกล่อง