Miami Dolphin’s EPA success alluvial plot, by down and play call
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.2 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.3 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggalluvial)
setwd("C:\\Users\\Sam.Fraley\\National Football League\\Next Gen Stats - Research\\Seasonal Analyst Folders\\Sam Fraley\\R\\Offense")
library(easyalluvial)
library(parcats)
data1 <- read.csv("alluv.csv")
data1b <- data1 %>%
mutate(down = case_when(down == 1 ~ "1st Down",
down == 2 ~ "2nd Down",
down == 3 ~ "3rd Down",
down == 4 ~ "4th Down"))
df.expanded <- data1b[rep(row.names(data1b), data1b$freq), 1:3]
suppressPackageStartupMessages( require(parcats) )
p = alluvial_wide(df.expanded, max_variables = 3)
parcats(p, marginal_histograms = TRUE, data_input = df.expanded)