核密度估計器

R 視覺化最佳實務

Nick Strayer

Instructor

直方圖的侷限

  • 多個明顯峰值的資料
  • 資料量小

R 視覺化最佳實務

核密度圖

  • 在每個資料點上放一個「kernel」
  • 將所有重疊 kernel 的高度相加

R 視覺化最佳實務

在 ggplot 畫 KDE

  • 只要把 geom_histogram() 換成 geom_density()
sample_n(md_speeding, 100) %>%
  ggplot(aes(x = percentage_over_limit)) +
  # 換掉 geom_histogram() 
    geom_density(
      # 用顏色填滿曲線
      fill = 'steelblue',
      # kernel 的標準差
      bw = 8 
    )
R 視覺化最佳實務

R 視覺化最佳實務

新的寬度參數

  • 需要調整放在每個點上的 kernel 標準差

R 視覺化最佳實務

R 視覺化最佳實務

顯示所有資料

geom_rug() 在 KDE 下方用線標出所有資料

p <-sample_n(md_speeding, 100) %>%
  ggplot(aes(x = percentage_over_limit)) +
  geom_density(
    fill = 'steelblue', # 用顏色填滿曲線
    bw = 8 # kernel 的標準差
  ) 

p + geom_rug(alpha = 0.4)
R 視覺化最佳實務

R 視覺化最佳實務

來疊一些高斯吧!

R 視覺化最佳實務

Preparing Video For Download...