จัดลำดับการซ้อนแท่งเพื่อให้อ่านง่ายขึ้น
จากกราฟในแบบฝึกหัดก่อนหน้า เราได้รวมโรคที่ไม่ใช่หัดและคางทูมเข้าไว้ในหมวด 'other' ซึ่งหมายความว่าเราให้ความสนใจกับหมวดนี้น้อยกว่าหัดและคางทูม
อย่างไรก็ตาม กราฟที่ได้ยังมีปัญหาอยู่ การซ้อนแท่งในลำดับที่หัดอยู่บนสุด คางทูมอยู่ตรงกลาง และ other อยู่ล่างสุด ทำให้ยากต่อการติดตามแนวโน้มของคางทูมตามเวลา เนื่องจากฐานของแท่งคางทูมเปลี่ยนแปลงตลอดตามสัดส่วนของหัดที่ไม่คงที่
โดยค่าเริ่มต้น ggplot จะเรียงลำดับแท่งและคำอธิบายกราฟตามลำดับที่ตัวแปรปรากฏในชุดข้อมูล หากต้องการกำหนดลำดับเอง ให้แปลงคอลัมน์ disease ให้เป็น factor พร้อมระบุ levels ตามลำดับที่ต้องการ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างภาพข้อมูลใน R
คำแนะนำการฝึกหัด
- แก้ไขฟังก์ชัน mutate ใน pipeline การจัดการข้อมูล เพื่อแปลง
diseaseให้เป็น factor โดยกำหนดlevels = c('measles', 'other', 'mumps') - สร้างกราฟใหม่โดยใช้โค้ดเดียวกับแบบฝึกหัดก่อนหน้า
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
disease_counts <- who_disease %>%
mutate(
disease = ifelse(disease %in% c('measles', 'mumps'), disease, 'other') %>%
factor(___) # change factor levels to desired ordering
) %>%
group_by(disease, year) %>%
summarise(total_cases = sum(cases))
# plot
ggplot(disease_counts, aes(x = year, y = total_cases, fill = disease)) +
geom_col(position = 'fill')