That's a nice tutorial for beginners, though sticking dplyr code in functions is skirting dangerously close to the world of hurt that is non-standard evaluation.
The example:
join_and_summarize <- function(df, colour_df){
left_join(df, colour_df, by = "cyl") %>%
group_by(colour) %>%
summarize(mean_displacement = mean(disp))
}
Will go really badly wrong if someone following the tutorial simply replaces the `disp` with a function argument.