data-raw/PlayByPlayUpdate.R

library("dplyr")

db_playerids <- readRDS(url("https://github.com/dynastyprocess/data/blob/master/files/db_playerids.rds?raw=true", method="libcurl"))

future::plan("multisession")
# define which seasons shall be loaded
#pbp <- nflfastR::load_pbp(2010:2020)
load("C:/Users/morrr/Documents/FantasyFootball/Data/pbp.rda")
#pbp <- pbp %>% nflfastR::decode_player_ids(fast = TRUE) %>% filter(between(week, 1,17))

#pbp_agg_season <- nflfastR::calculate_player_stats(pbp)

#pbp_agg_weekly <- nflfastR::calculate_player_stats(pbp, weekly = T)


tmp_s <-  pbp %>% filter(season == 2010) %>% nflfastR::calculate_player_stats() %>%
tibble::add_column(season = 2010, .before = "games")
tmp_w <-  pbp %>% filter(season == 2010) %>% nflfastR::calculate_player_stats(weekly = T)

for (i in 2011:2020){

tmp <-  pbp %>% filter(season == i) %>% nflfastR::calculate_player_stats() %>%
  tibble::add_column(season = i, .before = "games")
tmp1 <-  pbp %>% filter(season == i) %>% nflfastR::calculate_player_stats(weekly = T)

tmp_s <- rbind(tmp_s, tmp)
tmp_w <- rbind(tmp_w, tmp1)

}
names(tmp_s)[1] <- "gsis_id"
names(tmp_w)[1] <- "gsis_id"

pbp_agg_season <- select(db_playerids, gsis_id, mfl_id, name, team, position) %>%
  inner_join(tmp_s, by = "gsis_id") %>%
  select(-player_name)

pbp_agg_week <- select(db_playerids, gsis_id, mfl_id, name, team, position) %>%
  inner_join(tmp_w, by = "gsis_id") %>%
  select(-player_name)

pbp_avg_season <- pbp_agg_season %>% filter(between(season, 2018, 2020)) %>%
  select(-c(season, recent_team)) %>%
  group_by(gsis_id, mfl_id, name, team, position) %>%
  summarise(across(everything(), list(mean))) %>%
  mutate_if(is.numeric, round, digits=2)
names(pbp_avg_season) <- names(pbp_avg_season) %>% gsub("_1", "", .)
data.table::setnames(pbp_avg_season, old = c('mfl_id','receptions','receiving_yards', 'receiving_tds'),
         new = c('id',"rec", "rec_yds","rec_tds"))

pbp_avg_week <- pbp_agg_week %>% filter(between(season, 2018, 2020)) %>%
  select(-c(season, season_type, recent_team)) %>%
  group_by(gsis_id, mfl_id, name, team, position, week) %>%
  summarise(across(everything(), list(mean))) %>%
  mutate_if(is.numeric, round, digits=2)

names(pbp_avg_week) <- names(pbp_avg_week) %>% gsub("_1", "", .)

save(db_playerids,pbp_agg_season,pbp_agg_week, pbp_avg_season, pbp_avg_week,
     file = "C:/Users/morrr/Documents/AnalyticsFootball/data/pbp_agg.rda")
#save(pbp, file="C:/Users/morrr/Documents/FantasyFootball/Data/pbp.rda")

usethis::use_data(db_playerids, pbp_agg_season,
                  pbp_agg_week, pbp_avg_season, pbp_avg_week,
                  overwrite = T)
RandalMorris/AnalyticsFootball documentation built on Dec. 18, 2021, 9:52 a.m.