从直方图到 KDE
在本练习中,我们将查看发给 "Heavy Duty Truck" 的传票数据子集。假设您是一位懂数据的卡车司机,想知道上路最危险的时间是什么时候。请注意,这里的样本量只有 32 个观测。
下面的代码使用 ggplot 绘制了默认直方图。不出所料,效果一般。数据量不足以支撑哪怕 30 个箱子,使得图表难以阅读,也难以把握数据特征。请将几何对象改为使用 geom_density() 的核密度估计(KDE)。最后,为了让可视化更透明,请为图表添加一个副标题,告知读者您在 KDE 中使用的带宽。
本练习是课程的一部分
R 中的可视化最佳实践
练习说明
- 将直方图的几何对象改为密度图(
geom_density())。 - 将默认带宽修改为
1.5单位。 - 在图中添加
subtitle"Gaussian kernel SD = 1.5",告知读者您所用核的带宽。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# filter data to just heavy duty trucks
truck_speeding <- md_speeding %>%
filter(vehicle_type == "Heavy Duty Truck")
ggplot(truck_speeding, aes(x = hour_of_day)) +
# switch to density with bin width of 1.5, keep fill
geom_histogram(fill = 'steelblue') +
# add a subtitle stating binwidth
labs(title = 'Citations by hour')