From 8f5c211ded16ea96df593cee4cc3ea1fa6563ade Mon Sep 17 00:00:00 2001 From: Sebastian Carl Date: Thu, 17 Aug 2023 15:32:18 +0200 Subject: [PATCH] add defense player stats --- .github/workflows/automated_pbp_update.yaml | 3 ++ R/update_player_stats_def.R | 44 +++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 R/update_player_stats_def.R diff --git a/.github/workflows/automated_pbp_update.yaml b/.github/workflows/automated_pbp_update.yaml index b7bf7590..fe7bff6d 100644 --- a/.github/workflows/automated_pbp_update.yaml +++ b/.github/workflows/automated_pbp_update.yaml @@ -42,6 +42,9 @@ jobs: - name: Run player_stats script run: Rscript -e 'source("R/update_player_stats.R")' + - name: Run player_stats_defense script + run: Rscript -e 'source("R/update_player_stats_def.R")' + - name: Run player_stats_kicking script run: Rscript -e 'source("R/update_player_stats_kicking.R")' diff --git a/R/update_player_stats_def.R b/R/update_player_stats_def.R new file mode 100644 index 00000000..c0dc8081 --- /dev/null +++ b/R/update_player_stats_def.R @@ -0,0 +1,44 @@ +ps_season <- function(season) { + cli::cli_progress_step("Starting {.fct nflfastR::calculate_player_stats_def} for {season}!") + + ps <- nflreadr::load_pbp(season) |> + nflfastR::calculate_player_stats_def(weekly = TRUE) + + attr(ps, "nflfastR_version") <- packageVersion("nflfastR") + + nflversedata::nflverse_save( + data_frame = ps, + file_name = glue::glue("player_stats_def_{season}"), + nflverse_type = "player stats: defense", + release_tag = "player_stats", + file_types = c("rds", "csv", "parquet", "qs", "csv.gz") + ) + + cli::cli_progress_done() + + invisible(NULL) +} + +if (Sys.getenv("NFLVERSE_REBUILD", "false") == "true") { + purrr::walk(1999:nflreadr:::most_recent_season(), ps_season) +} else { + ps_season(nflreadr:::most_recent_season()) +} + +cli::cli_alert_info("Saving combined data...") +stats_df <- + purrr::map( + 1999:nflreadr::most_recent_season(), + ~ nflreadr::qs_from_url(glue::glue("https://github.com/nflverse/nflverse-data/releases/download/player_stats/player_stats_def_{.x}.qs")) + ) |> + purrr::list_rbind() + +attr(stats_df, "nflfastR_version") <- packageVersion("nflfastR") + +nflversedata::nflverse_save( + data_frame = stats_df, + file_name = "player_stats_def", + nflverse_type = "player stats: defense", + release_tag = "player_stats", + file_types = c("rds", "csv", "parquet", "qs", "csv.gz") +)