## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set(collapse = TRUE, comment = "#>", fig.width = 7, fig.height = 4) ## ----setup-------------------------------------------------------------------- library(steves) library(dplyr) library(ggplot2) ## ----------------------------------------------------------------------------- glimpse(episodes) ## ----------------------------------------------------------------------------- episodes |> count(primary_country, flag, sort = TRUE) |> head(10) ## ----country-bar, fig.height = 5, fig.alt = "Horizontal bar chart of the number of Rick Steves' Europe episodes set in each country, sorted from most to fewest."---- episodes |> count(primary_country) |> filter(primary_country != "Multiple") |> mutate(primary_country = forcats::fct_reorder(primary_country, n)) |> ggplot(aes(n, primary_country)) + geom_col(fill = "#1B3A6B") + labs(title = "Episodes per country", x = "Episodes", y = NULL) + theme_minimal() ## ----------------------------------------------------------------------------- episodes |> filter(!is.na(lat)) |> group_by(region) |> summarise(n = n(), median_rating = median(imdb_rating_shrunk)) |> arrange(desc(median_rating)) ## ----leaflet, eval = requireNamespace("leaflet", quietly = TRUE)-------------- library(leaflet) episodes |> filter(!is.na(lat)) |> leaflet() |> addTiles() |> addCircleMarkers( ~long, ~lat, radius = ~ pmax(3, imdb_rating_shrunk - 5), popup = ~ sprintf("%s
%s %s
%s", title, flag, primary_country, best_summary), color = "#1B3A6B", fillOpacity = 0.6, stroke = FALSE ) ## ----cadence, fig.alt = "Bar chart of episodes aired per calendar year, showing seasonal production cadence from 2000 to 2025."---- episodes |> count(air_year) |> ggplot(aes(air_year, n)) + geom_col(fill = "#FFC72C") + labs(title = "Episodes aired per year", x = NULL, y = "Episodes") + theme_minimal()