Histogram to KDE
For these exercises, we will be looking at a subset of our data of citations handed out to "Heavy Duty Truck"
s. We may be a data-savvy truck driver and want to know when the most dangerous time to be out on the road is. Note that the sample size here is only 32 observations.
Below is code to make a default histogram with ggplot. Unsurprisingly, it's not great. There's not really enough data to fill out even 30 bins, making it rather hard to read or get a grasp of the data. Switch the geometry to a KDE using geom_density()
. Lastly, in an effort to maintain the most transparency with your visualization, add a subtitle to the plot telling the viewer the bin-width used for your KDE.
This exercise is part of the course
Visualization Best Practices in R
Exercise instructions
- Change histogram geometry to a density one (
geom_density()
). - Modify the default bin width to be
1.5
units. - Add the
subtitle
"Gaussian kernel SD = 1.5"
to your plot, telling the reader the binwidth of your kernel.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# 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')