topChef Challenge Statistics by Season

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

Description

topChef provides the information that you need to summarize challenge statistics for a season of your choice. This example is for Season 20 "World All Stars." This is an example that combines the challengewins dataset and the chefdetails dataset.

Challenge statistic summary

Visualization

library(topChef)
library(tidyr)
library(dplyr)
library(ggplot2)

    chefdetails <- topChef::chefdetails %>% filter(seasonNumber == 20)
    challengewins <- topChef::challengewins %>% filter(seasonNumber == 20)

    ###########################################################################
    ## Set up data
    ###########################################################################
    currentstats <- challengewins %>%
      select(!rating) %>% 
      full_join(chefdetails %>% 
                  select(series,season,seasonNumber,chef,placement,gender)) 

      ## number of each type (combination of challenge + outcome)
        nums <- currentstats %>%
          group_by(chef,challengeType,outcome,placement,gender) %>%
          summarise(n=n()) %>%
          # remove groups we don't want to visualize
          filter(!(is.na(outcome)))

        nums$outcome <- factor(nums$outcome,levels=c("OUT","LOW","IN"
                                                     ,"HIGH","WIN"))

        ## Create bar charts for #s of each combo of challenge type-outcome
          nums %>%
            filter(!(outcome %in% c("IN","OUT"))) %>%
            ggplot(aes(x=n,y=chef,color=outcome,fill=outcome)) +
            geom_bar(stat="identity" ,alpha=.8 ) +
            facet_wrap(challengeType ~ outcome) +
            scale_fill_manual(values=c("#ffbc69","#a3cce9","#1170AA"))+
            scale_color_manual(values=c("#ffbc69","#a3cce9","#1170AA"))+
            theme_minimal() +
            theme(legend.position="none") +
            labs(title="Challenge summary for Season 20")

Code

library(topChef)
library(tidyr)
library(dplyr)
library(ggplot2)

    chefdetails <- topChef::chefdetails %>% filter(seasonNumber == 20)
    challengewins <- topChef::challengewins %>% filter(seasonNumber == 20)

    ###########################################################################
    ## Set up data
    ###########################################################################
    currentstats <- challengewins %>%
      select(!rating) %>% 
      full_join(chefdetails %>% 
                  select(series,season,seasonNumber,chef,placement,gender)) 

      ## number of each type (combination of challenge + outcome)
        nums <- currentstats %>%
          group_by(chef,challengeType,outcome,placement,gender) %>%
          summarise(n=n()) %>%
          # remove groups we don't want to visualize
          filter(!(is.na(outcome)))

        nums$outcome <- factor(nums$outcome,levels=c("OUT","LOW","IN"
                                                     ,"HIGH","WIN"))

        ## Create bar charts for #s of each combo of challenge type-outcome
          nums %>%
            filter(!(outcome %in% c("IN","OUT"))) %>%
            ggplot(aes(x=n,y=chef,color=outcome,fill=outcome)) +
            geom_bar(stat="identity" ,alpha=.8 ) +
            facet_wrap(challengeType ~ outcome) +
            scale_fill_manual(values=c("#ffbc69","#a3cce9","#1170AA"))+
            scale_color_manual(values=c("#ffbc69","#a3cce9","#1170AA"))+
            theme_minimal() +
            theme(legend.position="none") +
            labs(title="Challenge summary for Season 20")


Try the topChef package in your browser

Any scripts or data that you put into this service are public.

topChef documentation built on June 22, 2024, 9:54 a.m.