大量資料下的 KDE
提供的程式碼會為「所有」罰單的 percentage_over_limit 繪製一個基本的 KDE。乍看之下,這些設定合理:因為資料很多,就把 bin 寬度設得很窄,只要 1%。另外,貼心加入的 rug plot 也把 alpha 降到 0.7。
執行後你會立刻發現,這不是一張好的圖。密度估計尖尖刺刺像豪豬,rug plot 因為大量重疊,幾乎變成一條粗黑線。
把它修好:把 bin 寬度調大到 2.5,並把 rug plot 的 alpha 降到 0.05,以便看出點的重疊情形。別忘了把副標題改成能反映 kernel 寬度變更的內容!
本練習屬於課程
R 視覺化最佳實務
練習說明
- 將 kernel 的標準差改為
2.5 - 將 rug plot 的
alpha設為0.05 - 將
subtitle改為"Gaussian kernel SD = 2.5",以反映新的 kernel 寬度。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
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"
)