beanumber / openWAR

An R package enabling the computation of openWAR using MLBAM data
99 stars 33 forks source link

OpenWAR

Travis-CI Build Status

An open-source system for computing Wins Above Replacement

This package is designed to present a reference implementation of Wins Above Replacement for Major League Baseball players.

Installation

The Sxslt package is required in order to download new game data from MLBAM. This package is not present on CRAN. Hence, some manual installation may be necessary. The following command:

devtools::install_github("omegahat/Sxslt")

should do the trick. If it doesn't please check that your operating system meets the SystemRequirements. These can be installed on Ubuntu by:

sudo apt-get install libxslt1-dev libxslt1.1 libxml2 libxml2-dev

Next, installing openWAR is best accomplished through the install_github function in the devtools package.

devtools::install_github("beanumber/openWAR")

Data Source

The gameday function downloads play-by-play data from the GameDay server hosted by Major League Baseball Advanced Media. This data is not libre, but it lives on a publicly-available webserver.

Getting individual game data is as simple as:

library(openWAR)
gd <- gameday()
## gid_2012_08_12_atlmlb_nynmlb_1
summary(gd)
##        Length Class        Mode     
## gameId  1     -none-       character
## base    1     -none-       character
## url     5     -none-       character
## ds     62     GameDayPlays list
plot(gd)

To retrieve a data.frame of many games worth, try:

ds <- getData()

This will retrieve play-by-play data for all games played yesterday (by default). For each play, 62 variables are recorded.

Methodology

Please see our full paper on the arXiv or in Journal of Quantitative Analysis in Sports.