#' @title Get Record Against Wining Teams
#' @description gets record against winning teams
#' @keywords nba.com api
#' @importFrom magrittr %>%
#' @export get_record_against_winning_teams
#' @examples
#' get_record_against_winning_teams(team_stats_df)
get_record_against_winning_teams <- function(team_stats_df, season) {
team_stats_df <- team_stats_df %>%
dplyr::mutate(w_pct_winners = NA)
team_ids <- c('1610612737','1610612738','1610612751','1610612766','1610612741','1610612739',
'1610612742','1610612743','1610612765','1610612744','1610612745','1610612754',
'1610612746','1610612747','1610612763','1610612748','1610612749','1610612750',
'1610612740','1610612752','1610612760','1610612753','1610612755','1610612756',
'1610612757','1610612758','1610612759','1610612761','1610612762','1610612764')
team_codes <- c('ATL','BOS','BKN','CHA','CHI','CLE','DAL','DEN','DET','GSW','HOU','IND',
'LAC','LAL','MEM','MIA','MIL','MIN','NOP','NYK','OKC','ORL','PHI','PHX',
'POR','SAC','SAS','TOR','UTA','WAS')
team_code_df <- data.frame(team_id = team_ids, team_code = team_codes, stringsAsFactors = F)
winners <- team_stats_df %>%
dplyr::filter(w_pct > 0.5) %>%
dplyr::mutate(team_id = as.character(team_id)) %>%
dplyr::select(team_id)
for (i in 1:30) {
game_log_url <- paste0('https://stats.nba.com/stats/teamgamelog?',
'TeamID=',team_stats_df$team_id[i],
'&Season=',season,'&SeasonType=','Regular%20Season')
game_log_json <-
curl::curl(game_log_url) %>%
jsonlite::fromJSON()
game_log_df <- data.frame(game_log_json$resultSets$rowSet[[1]], stringsAsFactors = F)
names(game_log_df) = tolower(game_log_json$resultSets$headers[[1]])
game_log_clean <- game_log_df %>%
tidyr::separate(matchup, c('col1', 'opponent'), sep = "([\\@\\.])") %>%
dplyr::select(-col1) %>%
dplyr::mutate(opponent = stringr::str_trim(opponent)) %>%
dplyr::left_join(team_code_df, by=c("opponent" = "team_code")) %>%
dplyr::rename(team_id = team_id.x, opponent_id = team_id.y) %>%
dplyr::inner_join(winners, by = c('opponent_id' = 'team_id'))
print(team_stats_df$team_name[i])
pct <- nrow(subset(game_log_clean, wl=='W')) / nrow(game_log_clean)
print(pct)
team_stats_df$w_pct_winners[i] <- pct
Sys.sleep(runif(n=1,min = 0.5,max = 2))
}
return(team_stats_df)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.