大量数据下的 KDE
提供的代码将为"所有"罚单的 percentage_over_limit 绘制一个基础 KDE。乍一看,这些设置似乎合理。因为数据量很大,所以我们把 bin 宽度设得很窄:仅 1%。另外,已贴心添加的地毯图(rug plot)将 alpha 降到了 0.7。
运行这段代码后,您会立刻发现这不是一张好图。密度估计像刺猬一样锯齿丛生,而地毯图由于大量重叠,基本变成了一条粗黑条。
将 bin 宽度稍微调大到 2.5,并把地毯图的 alpha 降到 0.05,以便更好地感知点的重叠情况。别忘了修改副标题以反映核宽度的变化!
本练习是课程的一部分
R 中的可视化最佳实践
练习说明
- 将核的标准差改为
2.5 - 将地毯图的
alpha设为0.05 - 将
subtitle改为"Gaussian kernel SD = 2.5"以反映新的核宽度。
交互式实操练习
通过完成这段示例代码来试试这个练习。
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"
)