เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

จากฮิสโทแกรมสู่ KDE

ในแบบฝึกหัดชุดนี้ เราจะวิเคราะห์ข้อมูลย่อยจากชุดข้อมูลใบสั่งที่ออกให้กับรถประเภท "Heavy Duty Truck" สมมติว่าเราเป็นคนขับรถที่ใส่ใจข้อมูล และอยากรู้ว่าช่วงเวลาใดที่มีความเสี่ยงบนท้องถนนมากที่สุด โดยขนาดของตัวอย่างในที่นี้มีเพียง 32 รายการเท่านั้น

โค้ดด้านล่างสร้างฮิสโทแกรมแบบค่าเริ่มต้นด้วย ggplot ซึ่งคาดได้เลยว่าผลลัพธ์ไม่ค่อยดีนัก เนื่องจากข้อมูลมีน้อยเกินไปที่จะกระจายครบทั้ง 30 bins ทำให้อ่านและทำความเข้าใจข้อมูลได้ยาก ให้เปลี่ยน geometry เป็น KDE โดยใช้ geom_density() และเพื่อให้ภาพแสดงข้อมูลได้โปร่งใสที่สุด ให้เพิ่ม subtitle บอกผู้อ่านถึงค่า bin-width ที่ใช้ในการสร้าง KDE ด้วย

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างภาพข้อมูลใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เปลี่ยน geometry ของฮิสโทแกรมเป็นแบบ density (geom_density())
  • ปรับค่า bin width เริ่มต้นเป็น 1.5 หน่วย
  • เพิ่ม subtitle ว่า "Gaussian kernel SD = 1.5" ลงในกราฟ เพื่อแจ้งให้ผู้อ่านทราบถึงค่า binwidth ของเคอร์เนลที่ใช้

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# filter data to just heavy duty trucks
truck_speeding <- md_speeding %>% 
    filter(vehicle_type == "Heavy Duty Truck")
 
ggplot(truck_speeding, aes(x = hour_of_day)) +
    # switch to density with bin width of 1.5, keep fill 
    geom_histogram(fill = 'steelblue') +
    # add a subtitle stating binwidth
    labs(title = 'Citations by hour')
แก้ไขและรันโค้ด