เมื่อใดควรใช้ 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 ")

geom_bar พร้อม stat = "ตัวตน" ใน ggplot2

แกน X จะแสดงค่าที่ไม่ซ้ำกันในคอลัมน์ ทีม และแกน Y จะแสดงผลรวมของค่าในคอลัมน์ คะแนน ของแต่ละทีม

ตัวอย่างเช่น:

  • ผลรวมคะแนนของทีม A คือ 19
  • คะแนนรวมของทีม B คือ 27
  • ผลรวมคะแนนของทีม C คือ 35

ด้วยการใช้ stat=”identity” ในฟังก์ชัน geom_bar() เราสามารถแสดงผลรวมของค่าของตัวแปรเฉพาะในกรอบข้อมูลของเราแทนการนับ

หมายเหตุ : เพื่อให้ stat=”identity” ทำงานได้อย่างถูกต้อง คุณต้องระบุทั้งตัวแปร x และตัวแปร ay ในอาร์กิวเมนต์ aes()

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

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

วิธีปรับช่องว่างระหว่างแท่งใน ggplot2
วิธีลบ NA ออกจากพล็อตใน ggplot2
วิธีเปลี่ยนสีของแถบในแผนภูมิ Stacked Bart ใน ggplot2

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

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