KDE กับข้อมูลจำนวนมาก
โค้ดที่เตรียมไว้จะสร้าง KDE พื้นฐานของ percentage_over_limit สำหรับการอ้างอิง ทั้งหมด เมื่อดูเผิน ๆ การตั้งค่าดูสมเหตุสมผล เนื่องจากมีข้อมูลจำนวนมาก จึงกำหนด bin width ให้แคบ คือ เพียงหนึ่งเปอร์เซ็นต์ นอกจากนี้ rug plot ที่เพิ่มเข้ามาก็ตั้งค่า alpha ไว้ที่ 0.7
เมื่อรันโค้ดนี้ จะเห็นได้ทันทีว่ากราฟยังไม่ดีพอ การประมาณค่าความหนาแน่นดูขรุขระคล้ายเม่น และ rug plot กลายเป็นแถบสีดำทึบเพราะจุดข้อมูลทับซ้อนกันมากเกินไป
แก้ไขโดยเพิ่ม bin width เป็น 2.5 และลดค่า alpha ของ rug plot ลงเหลือ 0.05 เพื่อให้มองเห็นการทับซ้อนของจุดข้อมูลได้บ้าง อย่าลืมแก้ subtitle ให้สะท้อนการเปลี่ยนแปลง kernel width ด้วย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างภาพข้อมูลใน R
คำแนะนำการฝึกหัด
- เปลี่ยนค่าเบี่ยงเบนมาตรฐานของเคอร์เนลเป็น
2.5 - ตั้งค่า
alphaของ rugplot เป็น0.05 - เปลี่ยน
subtitleเป็น"Gaussian kernel SD = 2.5"เพื่อให้สอดคล้องกับ kernel width ที่เปลี่ยนไป
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
ggplot(md_speeding, aes(x = percentage_over_limit)) +
# Increase bin width to 2.5
geom_density(fill = 'steelblue', bw = 1, alpha = 0.7) +
# lower rugplot alpha to 0.05
geom_rug(alpha = 0.5) +
labs(
title = 'Distribution of % over speed limit',
# modify subtitle to reflect change in kernel width
subtitle = "Gaussian kernel SD = 1"
)