From 9e182614ffd446d8e5693d2045f20ba1c6a0d791 Mon Sep 17 00:00:00 2001 From: mrcaseb <38586519+mrcaseb@users.noreply.github.com> Date: Thu, 8 Jul 2021 16:26:05 +0200 Subject: [PATCH] More safety info (#252) * add safety vars to tidy play stats row * fill safety vars * add safety vars to variable selector * add docs for safety vars * don't really need safety team * Increment version number * update NEWS * remove safety team, it's unnecessary --- DESCRIPTION | 2 +- NEWS.md | 1 + R/helper_tidy_play_stats.R | 2 ++ R/helper_variable_selector.R | 6 ++++-- R/sysdata.rda | Bin 4030 -> 4037 bytes R/top-level_scraper.R | 2 ++ data-raw/tidy_play_stats_row.R | 5 ++++- data-raw/variable_list.txt | 2 ++ data/field_descriptions.rda | Bin 7539 -> 7552 bytes man/fast_scraper.Rd | 2 ++ 10 files changed, 18 insertions(+), 4 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index cbf18867..b10f897f 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: nflfastR Title: Functions to Efficiently Access NFL Play by Play Data -Version: 4.1.0.9005 +Version: 4.1.0.9006 Authors@R: c(person(given = "Sebastian", family = "Carl", diff --git a/NEWS.md b/NEWS.md index 530b8891..4e7e05e8 100644 --- a/NEWS.md +++ b/NEWS.md @@ -13,6 +13,7 @@ * Fix for `fixed_drive` where it wasn't incrementing when there was a muffed punt followed by timeout (#244) * Fix for `fixed_drive` where it wasn't incrementing following an interception with the intercepting player then losing a fumble (#247) * Fix for more issues with missing play info in 2018_01_ATL_PHI (#246) +* Added the variables `safety_player_name` and `safety_player_id` to the play-by-play data (#252) # nflfastR 4.1.0 diff --git a/R/helper_tidy_play_stats.R b/R/helper_tidy_play_stats.R index 379ac547..4e3295e7 100644 --- a/R/helper_tidy_play_stats.R +++ b/R/helper_tidy_play_stats.R @@ -1053,6 +1053,8 @@ sum_play_stats <- function(play_Id, stats) { row$blocked_player_name <- play_stats$player.displayName[index] } else if (stat_id == 89) { row$safety <- 1 + row$safety_player_id <- play_stats$player.esbId[index] + row$safety_player_name <- play_stats$player.displayName[index] } else if (stat_id == 91) { row$fumble <- 1 row$forced_fumble_player_1_player_id <- diff --git a/R/helper_variable_selector.R b/R/helper_variable_selector.R index 7a712382..1f604499 100644 --- a/R/helper_variable_selector.R +++ b/R/helper_variable_selector.R @@ -1,5 +1,5 @@ ################################################################################ -# Author: Ben Baldwin +# Author: Ben Baldwin, Sebastian Carl # Purpose: Build the final output of the pbp functions # Code Style Guide: styler::tidyverse_style() ################################################################################ @@ -114,7 +114,9 @@ nflscrapr_cols <- "defensive_two_point_attempt", "defensive_two_point_conv", "defensive_extra_point_attempt", - "defensive_extra_point_conv" + "defensive_extra_point_conv", + #new in nflfastR > v4.1 + "safety_player_name", "safety_player_id" ) diff --git a/R/sysdata.rda b/R/sysdata.rda index f13674d8a061a26a3dbcefdc9bc32a1c61bd3a30..28362edb78f84db9ddf72b224f8c8b5cc46fba23 100644 GIT binary patch delta 3607 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 delta 3570 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 v4.1 + "safety_player_name", + "safety_player_id" ) indicator_stats <- c( diff --git a/data-raw/variable_list.txt b/data-raw/variable_list.txt index 395f7fc6..e768db7f 100644 --- a/data-raw/variable_list.txt +++ b/data-raw/variable_list.txt @@ -281,6 +281,8 @@ #' \item{defensive_two_point_conv}{Binary indicator whether or not the defense successfully scored on the two point conversion.} #' \item{defensive_extra_point_attempt}{Binary indicator whether or not the defense was able to have an attempt on an extra point attempt, this results following a blocked attempt that the defense recovers the ball.} #' \item{defensive_extra_point_conv}{Binary indicator whether or not the defense successfully scored on an extra point attempt.} +#' \item{safety_player_name}{String name for the player who scored a safety.} +#' \item{safety_player_id}{Unique identifier for the player who scored a safety.} #' \item{season}{4 digit number indicating to which season the game belongs to.} #' \item{cp}{Numeric value indicating the probability for a complete pass based on comparable game situations.} #' \item{cpoe}{For a single pass play this is 1 - cp when the pass was completed or 0 - cp when the pass was incomplete. Analyzed for a whole game or season an indicator for the passer how much over or under expectation his completion percentage was.} diff --git a/data/field_descriptions.rda b/data/field_descriptions.rda index 9129a5773d317e2f9e2156e2216dd6b9bc9d34bd..6cbaba9e825a0b1ed8753543820d865b8eea9ea4 100644 GIT binary patch literal 7552 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 WlrhjfkrVt+_`8xR!i0vsm;QLYk?X?% literal 7539 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 Jp&^CIeH?m1@K68% diff --git a/man/fast_scraper.Rd b/man/fast_scraper.Rd index 7d4602f6..ed0a559e 100644 --- a/man/fast_scraper.Rd +++ b/man/fast_scraper.Rd @@ -327,6 +327,8 @@ Please see the description of \code{lateral_rusher_player_name} for further info \item{defensive_two_point_conv}{Binary indicator whether or not the defense successfully scored on the two point conversion.} \item{defensive_extra_point_attempt}{Binary indicator whether or not the defense was able to have an attempt on an extra point attempt, this results following a blocked attempt that the defense recovers the ball.} \item{defensive_extra_point_conv}{Binary indicator whether or not the defense successfully scored on an extra point attempt.} +\item{safety_player_name}{String name for the player who scored a safety.} +\item{safety_player_id}{Unique identifier for the player who scored a safety.} \item{season}{4 digit number indicating to which season the game belongs to.} \item{cp}{Numeric value indicating the probability for a complete pass based on comparable game situations.} \item{cpoe}{For a single pass play this is 1 - cp when the pass was completed or 0 - cp when the pass was incomplete. Analyzed for a whole game or season an indicator for the passer how much over or under expectation his completion percentage was.}