ความแตกต่างระหว่าง facet_wrap() และ facet_grid() ใน r
ฟังก์ชัน facet_grid() และ facet_wrap() ในแพ็คเกจ ggplot2 สามารถใช้เพื่อสร้างตารางแปลงข้อมูลได้
นี่คือข้อแตกต่างหลักระหว่างสองฟังก์ชัน:
- ฟังก์ชัน facet_grid() จะสร้างตารางแปลงค่าสำหรับการรวมกันของตัวแปรแต่ละค่าที่คุณระบุ แม้ว่าบางแปลงจะว่างเปล่าก็ตาม
- ฟังก์ชัน facet_wrap() จะสร้างพล็อตสำหรับชุดค่าผสมของตัวแปรที่มีค่าเท่านั้น ซึ่งหมายความว่า จะไม่สร้างพล็อตว่างใดๆ
สองตัวอย่างต่อไปนี้แสดงให้เห็นถึงความแตกต่างระหว่างสองฟังก์ชันนี้ โดยใช้กรอบข้อมูลต่อไปนี้:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
position=c('G', 'G', 'F', 'F', 'G', 'G', 'G', 'G'),
points=c(8, 14, 20, 22, 25, 29, 30, 31),
assists=c(10, 5, 5, 3, 8, 6, 9, 12))
#view data frame
df
team position points assists
1 GA 8 10
2 AG 14 5
3 FY 20 5
4 AF 22 3
5 BG 25 8
6 BG 29 6
7 BG 30 9
8 BG 31 12
ตัวอย่างที่ 1: การใช้ฟังก์ชัน facet_grid()
รหัสต่อไปนี้แสดงวิธีใช้ facet_grid() เพื่อสร้างตารางที่แสดงการกระจายการช่วยเหลือเทียบกับคะแนนสำหรับแต่ละทีมและการรวมตำแหน่ง:
library (ggplot2)
ggplot(df, aes (assists, points)) +
geom_point() +
facet_grid(position~team)
โปรดทราบว่ามีการสร้างแผนภาพกระจายสำหรับการรวมกันของแต่ละ ทีม และ ตำแหน่ง แม้ว่าจะไม่มีค่าอยู่ในกรอบข้อมูลดั้งเดิมสำหรับค่าทีมเป็น B และค่าตำแหน่งเป็น F :
ต่อไปนี้คือวิธีการทำงานของ facet_grid() โดยจะสร้างพล็อตสำหรับการรวมตัวแปรแต่ละรายการที่คุณระบุ แม้ว่าบางพล็อตจะว่างเปล่าก็ตาม
ตัวอย่างที่ 2: การใช้ฟังก์ชัน facet_wrap()
รหัสต่อไปนี้แสดงวิธีใช้ facet_wrap() เพื่อสร้างตารางที่แสดงการกระจายการช่วยเหลือเทียบกับคะแนนสำหรับแต่ละทีมที่มีอยู่และการรวมตำแหน่ง:
library (ggplot2)
ggplot(df, aes (assists, points)) +
geom_point() +
facet_wrap(position~team)
โปรดทราบว่าแผนภูมิกระจายถูกสร้างขึ้นสำหรับการรวม ทีม และ ตำแหน่ง ที่มีอยู่ในกรอบข้อมูลดั้งเดิมเท่านั้น
ซึ่งหมายความว่าไม่มีการสร้างพล็อตสำหรับการรวมกันของทีม B และตำแหน่ง F เนื่องจากไม่มีค่าอยู่ในกรอบข้อมูลดั้งเดิมสำหรับชุดค่าผสมนั้น
นี่คือวิธีการทำงานของ facet_wrap() โดยจะไม่สร้างเส้นทางที่ว่างเปล่า
หมายเหตุ : โปรดดูเอกสารประกอบ ggplot2 สำหรับคำแนะนำฉบับสมบูรณ์เกี่ยวกับฟังก์ชัน facet_grid() และ facet_wrap()
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน ggplot2:
วิธีเปลี่ยนขนาดตัวอักษรใน ggplot2
วิธีลบคำอธิบายแผนภูมิใน ggplot2
วิธีหมุนป้ายกำกับแกนใน ggplot2