เมื่อใดควรใช้ stat=”identity” ในแปลง ggplot2
มีสองวิธีทั่วไปในการใช้ฟังก์ชัน geom_bar() ใน ggplot2 เพื่อสร้างแผนภูมิแท่ง:
วิธีที่ 1: ใช้ geom_bar()
ggplot(df, aes(x)) + geom_bar()
ตามค่าเริ่มต้น geom_bar() จะนับจำนวนที่เกิดขึ้นของแต่ละค่าที่ไม่ซ้ำกันสำหรับตัวแปร x และใช้แท่งเพื่อแสดงจำนวน
วิธีที่ 2: ใช้ geom_bar(stat=”identity”)
ggplot(df, aes(x, y)) +
geom_bar(stat=" identity ")
หากคุณระบุอาร์กิวเมนต์ stat=”identity” ให้กับ geom_bar() คุณกำลังบอกให้ R คำนวณผลรวมของตัวแปร y ซึ่งจัดกลุ่มตามตัวแปร x และใช้แท่งเพื่อแสดงผลรวม
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงความแตกต่างระหว่างสองวิธีนี้โดยใช้กรอบข้อมูลต่อไปนี้ใน R ซึ่งแสดงคะแนนที่ผู้เล่นบาสเก็ตบอลจากทีมต่างๆ ทำไว้:
#create data frame df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 4 ), points=c(3, 5, 5, 6, 5, 7, 7, 8, 9, 9, 9, 8)) #view data frame df team points 1 to 3 2 to 5 3 to 5 4 to 6 5 B 5 6 B 7 7 B 7 8 B 8 9 C 9 10 C 9 11 C 9 12 C 8
ตัวอย่างที่ 1: การใช้ geom_bar()
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน geom_bar() เพื่อสร้างแผนภูมิแท่งที่แสดงจำนวนค่าที่ไม่ซ้ำกันแต่ละค่าในคอลัมน์ ทีม :
library (ggplot2) #create bar chart to visualize occurrence of each unique value in team column ggplot(df, aes(team)) + geom_bar()

แกน X จะแสดงค่าที่ไม่ซ้ำกันในคอลัมน์ ทีม และแกน Y จะแสดงจำนวนครั้งที่แต่ละค่าที่ไม่ซ้ำกันเกิดขึ้น
เนื่องจากแต่ละค่าที่ไม่ซ้ำกันปรากฏ 4 ครั้ง ความสูงของแต่ละแท่งคือ 4 ในพล็อต
ตัวอย่างที่ 2: การใช้ geom_bar(stat=”identity”)
โค้ดต่อไปนี้แสดงวิธีใช้ฟังก์ชัน geom_bar() พร้อมด้วยอาร์กิวเมนต์ stat=”identity” เพื่อสร้างแผนภูมิแท่งที่แสดงผลรวมของค่าในคอลัมน์ จุด โดยจัดกลุ่มตาม ทีม :
library (ggplot2) #create bar chart to visualize sum of points, grouped by team ggplot(df, aes(team, points)) + geom_bar(stat=" identity ")

แกน X จะแสดงค่าที่ไม่ซ้ำกันในคอลัมน์ ทีม และแกน Y จะแสดงผลรวมของค่าในคอลัมน์ คะแนน ของแต่ละทีม
ตัวอย่างเช่น:
- ผลรวมคะแนนของทีม A คือ 19
- คะแนนรวมของทีม B คือ 27
- ผลรวมคะแนนของทีม C คือ 35
ด้วยการใช้ stat=”identity” ในฟังก์ชัน geom_bar() เราสามารถแสดงผลรวมของค่าของตัวแปรเฉพาะในกรอบข้อมูลของเราแทนการนับ
หมายเหตุ : เพื่อให้ stat=”identity” ทำงานได้อย่างถูกต้อง คุณต้องระบุทั้งตัวแปร x และตัวแปร ay ในอาร์กิวเมนต์ aes()
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน ggplot2:
วิธีปรับช่องว่างระหว่างแท่งใน ggplot2
วิธีลบ NA ออกจากพล็อตใน ggplot2
วิธีเปลี่ยนสีของแถบในแผนภูมิ Stacked Bart ใน ggplot2