kickoffData <- pbp %>%
  filter(play_type == "kickoff")

kickoffSplit <- strsplit(kickoffData$desc, " ")

dateUnlist <- unlist(strsplit(kickoffData$game_date, "-"))

years <- as.numeric(dateUnlist[seq(1, length(dateUnlist), 3)])
months <- as.numeric(dateUnlist[seq(2, length(dateUnlist), 3)])

distance <- function(descSplit) {
  dist <- descSplit[3]
  dist
}

#distance(kickoffSplit[[1]])

y <- sapply(1:length(kickoffSplit), function(x){
  distance(kickoffSplit[[x]])
})

kickoffSelect <- kickoffData %>%
  dplyr::select(touchback, epa, yardline_100, kickoff_out_of_bounds)

kickoffSelect <- kickoffSelect %>%
  mutate(year = years, month = months)

kickoffSelect <- kickoffSelect %>%
  mutate(seasonYear = ifelse(month > 3, year, year - 1))

z <- kickoffSelect %>%
  mutate(dist = y) %>%
  filter(((yardline_100 == 35  & seasonYear >= 2011) | (yardline_100 == 30  & seasonYear < 2011)) & kickoff_out_of_bounds
         == 0) %>%
  dplyr::select(-c(yardline_100, kickoff_out_of_bounds, year, month))

z$dist = as.numeric(z$dist)
## Warning: NAs introduced by coercion
z <- na.omit(z)

z$dist <- as.numeric(z$dist)



kickoffClean <- z %>%
  mutate(touchback = ifelse(touchback == 1, "Touchback", "No Touchback"), kickoffRules = ifelse(seasonYear >= 2018, "2018-Present", ifelse(seasonYear < 2011, "Before 2011", "2011-2017")), seasonYear = as.factor(seasonYear)) %>%
    filter((kickoffRules == "Before 2011" & (dist > 55 & dist < 70)) | (kickoffRules == "2011-2017" & (dist > 60 &
                                                                                                               dist < 75))
         | (kickoffRules == "2018-Present" & (dist > 60 & dist < 75)))

x <- kickoffClean %>%
  group_by(touchback) %>%
  summarise(n = n(), epaPerPlay = mean(epa))
## `summarise()` ungrouping output (override with `.groups` argument)
noTouchbackEPA <- kickoffClean %>%
  filter(touchback == "No Touchback") %>%
  group_by(kickoffRules,dist) %>%
  summarise(n = n(), epaPerReturn = mean(epa)) %>%
  filter(n >= 30)
## `summarise()` regrouping output by 'kickoffRules' (override with `.groups` argument)
ggfig <- ggplot(noTouchbackEPA, aes(dist, epaPerReturn, color = kickoffRules)) + geom_smooth(se = FALSE)
ggplotly(ggfig)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'