วิธีพล็อตบรรทัดเฉลี่ยตามกลุ่มใน ggplot2


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อลงจุดเส้นเฉลี่ยต่อกลุ่มใน ggplot2:

 #calculate mean points value by team
mean_team <- df %>% group_by(team) %>% summarise(mean_pts=mean(points))
 
#create scatterplot of assists vs points with mean line of points by team
ggplot(df, aes(x=assists, y=points)) +
  geom_point(aes(color=team)) +
  geom_hline(data=mean_team, aes(yintercept=mean_pts, col=team))

ตัวอย่างเฉพาะนี้สร้างแผนภาพกระจายของการช่วยเทียบกับ การช่วยเหลือ แบบแปรผัน point จากนั้นเพิ่มเส้นเพื่อแสดงค่าเฉลี่ย ของคะแนน ที่จัดกลุ่มตามตัวแปร ทีม

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: การวางแผนเส้นเฉลี่ยต่อกลุ่มใน ggplot2

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ซึ่งมีข้อมูลเกี่ยวกับคะแนนและการช่วยเหลือของผู้เล่นบาสเกตบอลจากสามทีมที่แตกต่างกัน:

 #create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 5 ),
                 assists=c(2, 4, 4, 5, 6, 6, 7, 7,
                           8, 9, 7, 8, 13, 14, 12),
                 dots=c(8, 8, 9, 9, 10, 9, 12, 13,
                          14, 15, 14, 14, 16, 19, 22))

#view data frame
df

   team assists points
1 to 2 8
2 to 4 8
3 to 4 9
4 to 5 9
5 to 6 10
6 B 6 9
7 B 7 12
8 B 7 13
9 B 8 14
10 B 9 15
11 C 7 14
12 C 8 14
13 C 13 16
14 C 14 19
15 C 12 22

เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้าง Scatterplot ของ Assist vs. ตัวแปร คะแนน จากนั้นเพิ่มบรรทัดเพื่อแสดงค่าเฉลี่ย ของคะแนน ที่จัดกลุ่มตามตัวแปร ทีม

 library (dplyr)
library (ggplot2)

#calculate mean points value by team
mean_team <- df %>% group_by(team) %>% summarise(mean_pts=mean(points))
 
#create scatterplot of assists vs points with mean line of points by team
ggplot(df, aes(x=assists, y=points)) +
  geom_point(aes(color=team)) +
  geom_hline(data=mean_team, aes(yintercept=mean_pts, col=team)) 

ggplot บรรทัดเฉลี่ยต่อกลุ่ม

เส้นทั้งสามมีรหัสสีเพื่อแสดงค่าคะแนนเฉลี่ยของแต่ละทีม

เราสามารถดูกรอบข้อมูล Mean_Team ที่เราสร้างขึ้นเพื่อดูค่าคะแนนเฉลี่ยจริงของแต่ละทีมได้:

 #view mean points value by team
mean_team

`summarise()` ungrouping output (override with `.groups` argument)
# A tibble: 3 x 2
  team mean_pts
      
1 to 8.8
2 B 12.6
3 C 17

จากผลลัพธ์เราจะเห็นได้ว่า:

  • คะแนนเฉลี่ยของผู้เล่นทีม A คือ 8.8
  • คะแนนเฉลี่ยของผู้เล่นทีม B คือ 12.6
  • คะแนนเฉลี่ยของผู้เล่นทีม C คือ 17

ค่าเหล่านี้สอดคล้องกับตำแหน่งของเส้นบนแกน y ของ Scatterplot ที่เราสร้างขึ้น

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

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

วิธีสร้างฮิสโตแกรมความถี่สัมพัทธ์ใน R
วิธีพล็อต Boxplot หลายอันในกราฟเดียวใน R
วิธีการพล็อตหลายบรรทัดในกราฟใน R

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

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