--- title: "topChef Challenge Statistics by Season" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{topChef Challenge Statistics by Season} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} 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 ```{r ChallengeStatisticsVisualization, eval=TRUE,echo=FALSE,message=FALSE } 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 ```{r ChallengeStatisticsVisualization_code, eval=FALSE,echo=TRUE,message=FALSE} 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") ```