開始使用免費開始

大量資料下的 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"
    )
編輯並執行程式碼