knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%" )
The goal of touringplans is to provide access to Disney World Ride Wait Time Datasets curated by the TouringPlans.com team.
You can install the development version of touringplans with:
devtools::install_github("LucyMcGowan/touringplans")
You can find a list of all data sets along with variable information on the touringplans package website
The touringplans_2018
data frame contains wait time data aggregated by hour for 14 attractions, along with some park-level daily metadata. The example below demonstrates how wait times by day are associated with the Ticket Season. The example below uses the tidyverse package to assist with data wrangling.
library(touringplans) library(tidyverse) touringplans_2018 %>% count(attraction_name)
We can aggregate the hourly posted wait time data into an avarage wait time by day for each ride.
agg_2018 <- touringplans_2018 %>% group_by(park_date, attraction_name, park_ticket_season) %>% summarise(average_diff = mean(wait_minutes_posted_avg - wait_minutes_actual_avg, na.rm = TRUE), .groups = "drop") %>% filter(average_diff > -300) # remove weird data points (more on this later!)
On average, Disney over predicts wait times by 15 and a half minutes per day on the 14 rides included in this dataset during peak season, around 11 and a half minutes per day during regular season, and around 13 minutes per day during value season.
lm(average_diff ~ park_ticket_season, data = agg_2018) %>% summary()
ggplot(agg_2018, aes(x = park_date, y = average_diff)) + geom_point(aes(color = park_ticket_season)) + geom_line() + geom_hline(yintercept = 0, lty = 2) + facet_wrap(~ attraction_name, ncol = 2) + labs(y = "Average difference in posted and actual wait time", color = "Ticket Season")
We can see that there are some attractions that this holds true for moreso than others.
library(ggridges) ggplot(agg_2018, aes(x = average_diff, y = park_ticket_season, fill = park_ticket_season)) + geom_density_ridges() + geom_vline(xintercept = 0, lty = 2) + xlim(c(-30, 50)) + facet_wrap(~ attraction_name, ncol = 3) + labs(x = "Average difference in posted and actual wait time", fill = "Ticket Season", y = "Ticket Season")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.