Skip to content

Instantly share code, notes, and snippets.

@tcash21
Last active February 23, 2017 00:10
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save tcash21/3a3b103386e1115aee6aa6ea6add072a to your computer and use it in GitHub Desktop.
Save tcash21/3a3b103386e1115aee6aa6ea6add072a to your computer and use it in GitHub Desktop.
install.packages("devtools")
devtools::install_github("stattleship/stattleship-r")
install.packages('dplyr')
install.packages('ggplot2')
## Load the stattleshipR package
library(stattleshipR)
library(dplyr)
library(ggplot2)
set_token("your-api-token")
sport <- 'baseball'
league <- 'mlb'
ep <- 'game_logs'
q_body <- list(team_id='mlb-bos', status='ended', interval_type='regularseason')
gls <- ss_get_result(sport=sport, league=league, ep=ep, query=q_body, walk=TRUE)
game_logs<-do.call('rbind', lapply(gls, function(x) x$game_logs))
sport <- 'baseball'
league <- 'mlb'
ep <- 'players'
q_body <- list(team_id='mlb-bos')
pls <- ss_get_result(sport=sport, league=league, ep=ep, query=q_body, walk=TRUE)
players<-do.call('rbind', lapply(pls, function(x) x$players))
colnames(players)[1] <- 'player_id'
game_logs <- merge(players, game_logs, by='player_id')
stats <-
game_logs %>%
filter(game_played == TRUE) %>%
group_by(name) %>%
summarise(totalRuns = sum(runs), meanBA = mean(batting_average), totalBases=sum(total_bases), salary=max(salary))
ggplot(stats, aes(x=totalRuns, y=meanBA, size=totalBases, label=name, color=salary)) + geom_text()
@dthyresson
Copy link

One note, as we're about to begin the 2017 MLB season, it's wise to include both a season_id and interval_type in:

q_body <- list(team_id='mlb-bos', season_id='mlb-2016', interval_type='regularseason')

Since we default to the current season, this was you'll be certain to fetch the data you expect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment