核密度估计器

R 中的可视化最佳实践

Nick Strayer

Instructor

直方图的局限

  • 多个明显峰值的数据
  • 小样本

R 中的可视化最佳实践

核密度图

  • 在每个数据点上放置"核"
  • 累加所有重叠核的高度

R 中的可视化最佳实践

在 ggplot 中绘制 KDE

  • 只需将 geom_histogram() 换成 geom_density()
sample_n(md_speeding, 100) %>%
  ggplot(aes(x = percentage_over_limit)) +
  # 替换 geom_histogram() 
    geom_density(
      # 用颜色填充曲线
      fill = 'steelblue',
      # 核的标准差
      bw = 8 
    )
R 中的可视化最佳实践

R 中的可视化最佳实践

新的宽度参数

  • 需要调整放在每个点上的核的标准差

R 中的可视化最佳实践

R 中的可视化最佳实践

展示全部数据

使用 geom_rug() 在 KDE 下方用线展示所有数据

p <-sample_n(md_speeding, 100) %>%
  ggplot(aes(x = percentage_over_limit)) +
  geom_density(
    fill = 'steelblue', # 用颜色填充曲线
    bw = 8 # 核的标准差
  ) 

p + geom_rug(alpha = 0.4)
R 中的可视化最佳实践

R 中的可视化最佳实践

叠加一些高斯!

R 中的可视化最佳实践

Preparing Video For Download...