วิธีการพล็อตข้อมูลหมวดหมู่ใน r (พร้อมตัวอย่าง)
ในสถิติ ข้อมูลเชิงหมวดหมู่ หมายถึงข้อมูลที่สามารถใช้ชื่อหรือป้ายกำกับได้
ตัวอย่างได้แก่:
- สถานะการสูบบุหรี่ (“ผู้สูบบุหรี่”, “ผู้ไม่สูบบุหรี่”)
- สีตา (“น้ำเงิน”, “เขียว”, “เฮเซล”)
- ระดับการศึกษา (เช่น “มัธยมปลาย” “ปริญญาตรี” “ปริญญาโท”)
แผนภูมิสามแผนภูมิที่ใช้กันทั่วไปเพื่อแสดงภาพข้อมูลประเภทนี้ ได้แก่:
- แผนภูมิแท่ง
- แปลงโมเสก
- แปลงกล่องตามกลุ่ม
ตัวอย่างต่อไปนี้แสดงวิธีการสร้างแต่ละแปลงเหล่านี้ใน R
ตัวอย่างที่ 1: แผนภูมิแท่ง
รหัสต่อไปนี้แสดงวิธีสร้างแผนภูมิแท่งเพื่อแสดงภาพความถี่ของการเปลี่ยนแปลงในกรอบข้อมูลเฉพาะ:
library (ggplot2) #create data frame df <- data. frame (result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'), team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'), points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19), rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8)) #create bar chart of teams ggplot(df, aes (x=team)) + geom_bar()
แกน x แสดงชื่อของแต่ละทีม และแกน y แสดงความถี่ของแต่ละทีมในกรอบข้อมูล
นอกจากนี้เรายังสามารถใช้โค้ดต่อไปนี้เพื่อเรียงลำดับแท่งในแผนภูมิจากมากไปน้อย:
#create bar chart of teams, ordered from large to small ggplot(df, aes (x= reorder (team, team, function (x)- length (x)))) + geom_bar(fill=' steelblue ') + labs(x=' Team ')
ตัวอย่างที่ 2: การลงจุดกล่องตามกลุ่ม
Boxplots แบบคลัสเตอร์เป็นวิธีที่มีประโยชน์ในการแสดงภาพตัวแปรตัวเลข ซึ่งจัดกลุ่มตามตัวแปรหมวดหมู่
ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีการสร้าง boxplots ที่แสดงการกระจายคะแนนที่จัดกลุ่มตามทีม:
library (ggplot2) #create data frame df <- data. frame (result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'), team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'), points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19), rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8)) #create boxplots of points, grouped by team ggplot(df, aes (x=team, y=points)) + geom_boxplot(fill=' steelblue ')
แกน x แสดงทีมต่างๆ และแกน y แสดงการกระจายคะแนนที่แต่ละทีมทำคะแนนได้
ตัวอย่างที่ 3: พล็อตโมเสก
พล็อตแบบเรียงต่อกันเป็นพล็อตประเภทหนึ่งที่แสดงความถี่ของตัวแปรหมวดหมู่ที่แตกต่างกันสองตัวในพล็อตเดียว
ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีสร้างพล็อตโมเสคที่แสดงความถี่ของตัวแปรหมวดหมู่ “ผลลัพธ์” และ “ทีม” ในพล็อตเดียว:
#create data frame df <- data. frame (result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'), team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'), points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19), rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8)) #create table of counts counts <- table(df$result, df$team) #create mosaic plot mosaicplot(counts, xlab=' Game Result ', ylab=' Team ', main=' Wins by Team ', col=' steelblue ')
แกน x แสดงผลการแข่งขันและแกน y จะแสดงทีมที่แตกต่างกันสี่ทีม
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีสร้างแปลงทั่วไปอื่น ๆ ใน R:
วิธีสร้าง barplot แบบเรียงซ้อนใน R
วิธีสร้าง barplot แบบคลัสเตอร์ใน R
วิธีสร้างพล็อตจุดแบบซ้อนใน R