Hot Ones Episodes

Published

August 8, 2023

Data Context

Hot Ones Episodes

The data this week comes from Wikipedia articles: Hot Ones and List of Hot Ones episodes. Thank you to Carl Börstell for the suggestion and cleaning script!

Hot Ones is an American YouTube talk show, created by Chris Schonberger, hosted by Sean Evans and produced by First We Feast and Complex Media. Its basic premise involves celebrities being interviewed by Evans over a platter of increasingly spicy chicken wings.

episodes <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-08-08/episodes.csv')
Rows: 300 Columns: 8
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr  (2): title, guest
dbl  (4): season, episode_overall, episode_season, guest_appearance_number
lgl  (1): finished
date (1): original_release
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
sauces <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-08-08/sauces.csv')
Rows: 210 Columns: 4
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (1): sauce_name
dbl (3): season, sauce_number, scoville
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
seasons <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-08-08/seasons.csv')
Rows: 21 Columns: 5
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr  (1): note
dbl  (2): season, episodes
date (2): original_release, last_release
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
head(episodes)
# A tibble: 6 × 8
  season episode_overall episode_season title             original_release guest
   <dbl>           <dbl>          <dbl> <chr>             <date>           <chr>
1      1               1              1 Tony Yayo Talks … 2015-03-12       Tony…
2      1               2              2 Anthony Rizzo On… 2015-05-12       Anth…
3      1               3              3 Machine Gun Kell… 2015-06-11       Mach…
4      1               4              4 Gunplay Talks Ri… 2015-06-23       Gunp…
5      1               5              5 Ja Rule Talks 50… 2015-08-11       Ja R…
6      1               6              6 B.o.B. Talks Egg… 2015-08-26       B.o.…
# ℹ 2 more variables: guest_appearance_number <dbl>, finished <lgl>
head(sauces)
# A tibble: 6 × 4
  season sauce_number sauce_name                                        scoville
   <dbl>        <dbl> <chr>                                                <dbl>
1      1            1 Texas Pete Original Hot Sauce                          747
2      1            2 Cholula Original Hot Sauce                            3600
3      1            3 El Yucateco Caribbean Hot Sauce – Chile Habanero      5790
4      1            4 Lottie's Traditional Barbados Yellow Hot Pepper …    12000
5      1            5 Pain is Good – Louisiana Style                       13000
6      1            6 Pain 100%                                            20600
head(seasons)
# A tibble: 6 × 5
  season episodes note  original_release last_release
   <dbl>    <dbl> <chr> <date>           <date>      
1      1        8 <NA>  2015-03-12       2015-10-22  
2      2       40 <NA>  2015-12-10       2016-12-22  
3      3       24 <NA>  2017-01-19       2017-06-29  
4      4       24 <NA>  2017-07-20       2017-12-28  
5      5       16 <NA>  2018-01-18       2018-05-03  
6      6       13 <NA>  2018-06-07       2018-09-06  
episodes %>% 
  left_join(sauces %>% filter(sauce_number == 10)) %>%
  ggplot(aes(x = factor(scoville), fill = finished)) +
  geom_bar(position = 'fill')
Joining with `by = join_by(season)`

episodes %>% 
  left_join(sauces %>% filter(sauce_number == 10)) %>%
  ggplot(aes(x = season, fill = finished)) +
  geom_bar(position = 'fill') + facet_wrap(~ scoville)
Joining with `by = join_by(season)`

sauces %>%
  ggplot(aes(y = scoville, x = sauce_number,color = season, group = season))  + 
  geom_line() + 
  labs(y = 'Socville (Spicy Level)', x = 'Sauce Order', title = 'Hot Ones Spicy Levels across Seasons') + 
  scale_x_continuous(breaks = 1:10) +
  scale_color_gradient(low = 'grey',high='red')

library(gganimate)
sauces %>%
  ggplot(aes(y = scoville, x = sauce_number, group = season))  + 
  geom_line(color = 'red') + 
  labs(y = 'Socville (Spicy Level)', x = 'Sauce Order', title = 'Hot Ones Spicy Levels across Seasons', subtitle = 'Season {round(frame_time)}') + 
  scale_x_continuous(breaks = 1:10) +
  transition_time(season) +
  shadow_mark(colour = 'grey', size = 0.75)