R/get_team_stats.R

Defines functions get_team_stats

Documented in get_team_stats

#' Get Advanced Team Stats Data
#'
#' Function that pulls NBA Advanced Team Stats Data from the NBA Stats API
#' - Season can be a specific year (2021)
#' @return
#' @export
#'
#' @param season_year numeric
#'
#' @importFrom nbastatR teams_players_stats
#' @importFrom dplyr select left_join
#'
#' @examples
#' df <- get_team_stats(season_year = 2021)
#'
get_team_stats <- function(season_year){
  if (!is.numeric(season_year)) {
    stop("Must provide a numeric value for season year (1946 - 2021)")
  }
  bb8 <- suppressWarnings(teams_players_stats(seasons = season_year, types = c("team"), # or player
                             modes = c("PerGame"),
                             tables = c("general"),
                             measures = c('Misc')))
  bb9 <- bb8[[7]][[1]]
  misc_stats <- bb9 %>%
    select(nameTeam, ptsOffTOV:ptsPaintOpponentRank, -winsRank, -lossesRank)
  bb11 <- suppressWarnings(teams_players_stats(seasons = season_year, types = c("team"), # or player
                              modes = c("PerGame"),
                              tables = c("general"),
                              measures = c('Opponent')))
  bb12 <- bb11[[7]][[1]] # 7th column 1st row
  opponent_basic_shooting <- bb12 %>%
    select(nameTeam, fgmOpponent:pctFTOpponent, ftmOpponent, ftaOpponent,
           ptsOpponent, pctFGOpponentRank, pctFG3OpponentRank, ftaOpponentRank) %>%
    left_join(misc_stats)

  print(paste0('Retrieving ', nrow(opponent_basic_shooting), ' Team Stats Rows'))
  return(opponent_basic_shooting)
}
jyablonski/practice_package documentation built on Dec. 21, 2021, 5:14 a.m.