Last active
August 29, 2016 13:00
-
-
Save batpigandme/d06f279369546dbfe462 to your computer and use it in GitHub Desktop.
Get all of the game logs for the NBA teams without pre-loading team information.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
######################################################################### | |
## Get NBA Team Game Logs From the Stattleship API | |
######################################################################### | |
## install and load the stattleshipR package | |
devtools::install_github("stattleship/stattleship-r") | |
library(stattleshipR) | |
## set API token | |
set_token('YOUR_ACCESS_TOKEN') | |
## set up envt | |
options(stringsAsFactors=FALSE) | |
## set params | |
sport <- "basketball" | |
league <- "nba" | |
ep <- "team_game_logs" | |
## leave q_body empty to get all | |
## or set for specific team or dates | |
## set season_id | |
q_body <- list(season_id="nba-2015-2016") | |
## get the team game logs | |
nba_team_gls <- ss_get_result(sport=sport, league=league, ep=ep, query=q_body, version=1, verbose=TRUE, walk=TRUE) | |
## bind together data | |
tgls <- lapply(nba_team_gls, function(x) x$team_game_logs) | |
team_game_logs <- do.call('rbind', tgls) | |
team_game_logs <- rbindlist(tgls) | |
## team game log data cleanup | |
team_game_logs$coach_technical_fouls[which(is.na(team_game_logs$coach_technical_fouls))] <- 0 | |
team_game_logs$points_biggest_lead[which(is.na(team_game_logs$points_biggest_lead))] <- 0 | |
team_game_logs$technical_fouls[which(is.na(team_game_logs$technical_fouls))] <- 0 | |
## add team details | |
teams <- lapply(team_game_logs, function(x) x$teams) | |
all_teams <- do.call('rbind', teams) | |
the_teams <- all_teams[match(team_game_logs$team_id, all_teams$id),] | |
team_game_logs$team_slug <- the_teams[match(team_game_logs$team_id, the_teams$id),]$slug | |
team_game_logs$opponent_slug <- the_teams[match(team_game_logs$opponent_id, the_teams$id),]$slug | |
## add game details | |
games <- lapply(games, function(x) x$games) | |
the_games <- do.call('rbind', games) | |
the_games <- the_games[match(team_game_logs$game_id, the_games$id),] | |
team_game_logs$scoreline <- the_games[match(team_game_logs$game_id, the_games$id),]$scoreline | |
team_game_logs$winning_team_id <- the_games[match(team_game_logs$game_id, the_games$id),]$winning_team_id | |
team_game_logs$score_differential <- the_games[match(team_game_logs$game_id, the_games$id),]$score_differential | |
team_game_logs$game_started_at <- the_games[match(team_game_logs$game_id, the_games$id),]$started_at | |
team_game_logs$game_ended_at <- the_games[match(team_game_logs$game_id, the_games$id),]$ended_at | |
team_game_logs$game_slug <- the_games[match(team_game_logs$game_id, the_games$id),]$slug |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment