battingStats {Lahman}R Documentation

Calculcate additional batting statistics

Description

The Batting does not contain batting statistics derived from those present in the data.frame. This function calculates batting average (BA), plate appearances (PA), total bases (TB), slugging percentage (SlugPct), on-base percentage (OBP), on-base percentage + slugging (OPS), and batting average on balls in play (BABIP) for each record in a Batting-like data.frame.

Usage

battingStats(data = Batting, idvars = c("playerID", "yearID", "stint", "teamID", "lgID"), 
             cbind = TRUE)

Arguments

data

input data, typically Batting

idvars

ID variables to include in the output data.frame

cbind

If TRUE, the calculated statistics are appended to the input data as additional columns

Details

Standard calculations, e.g., BA <- H/AB are problematic because of the presence of NAs and zeros. This function tries to deal with those problems.

Value

A data.frame with all the observations in data. If cbind==FALSE, only the idvars and the calculated variables are returned.

Author(s)

Michael Friendly, Dennis Murphy

See Also

Batting, BattingPost

Examples


    bstats <- battingStats()
    str(bstats)
## 'data.frame':    96600 obs. of  31 variables:
##  $ playerID : chr  "aardsda01" "aardsda01" "aardsda01" "aardsda01" ...
##  $ yearID   : int  2004 2006 2007 2008 2009 2010 2012 1954 1955 1956 ...
##  $ stint    : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ teamID   : Factor w/ 149 levels "ALT","ANA","ARI",..: 117 35 33 16 116 116 93 80 80 80 ...
##  $ lgID     : Factor w/ 7 levels "AA","AL","FL",..: 5 5 2 2 2 2 2 5 5 5 ...
##  $ G        : int  11 45 25 47 73 53 1 122 153 153 ...
##  $ G_batting: int  11 43 2 5 3 4 NA 122 153 153 ...
##  $ AB       : int  0 2 0 1 0 0 NA 468 602 609 ...
##  $ R        : int  0 0 0 0 0 0 NA 58 105 106 ...
##  $ H        : int  0 0 0 0 0 0 NA 131 189 200 ...
##  $ X2B      : int  0 0 0 0 0 0 NA 27 37 34 ...
##  $ X3B      : int  0 0 0 0 0 0 NA 6 9 14 ...
##  $ HR       : int  0 0 0 0 0 0 NA 13 27 26 ...
##  $ RBI      : int  0 0 0 0 0 0 NA 69 106 92 ...
##  $ SB       : int  0 0 0 0 0 0 NA 2 3 2 ...
##  $ CS       : int  0 0 0 0 0 0 NA 2 1 4 ...
##  $ BB       : int  0 0 0 0 0 0 NA 28 49 37 ...
##  $ SO       : int  0 0 0 1 0 0 NA 39 61 54 ...
##  $ IBB      : int  0 0 0 0 0 0 NA NA 5 6 ...
##  $ HBP      : int  0 0 0 0 0 0 NA 3 3 2 ...
##  $ SH       : int  0 1 0 0 0 0 NA 6 7 5 ...
##  $ SF       : int  0 0 0 0 0 0 NA 4 4 7 ...
##  $ GIDP     : int  0 0 0 0 0 0 NA 13 20 21 ...
##  $ G_old    : int  11 45 2 5 NA NA NA 122 153 153 ...
##  $ BA       : num  NA 0 NA 0 NA NA NA 0.28 0.314 0.328 ...
##  $ PA       : num  0 3 0 1 0 0 0 509 665 660 ...
##  $ TB       : num  0 0 0 0 0 0 0 209 325 340 ...
##  $ SlugPct  : num  NA 0 NA 0 NA NA NA 0.447 0.54 0.558 ...
##  $ OBP      : num  NA 0 NA 0 NA NA NA 0.322 0.366 0.365 ...
##  $ OPS      : num  NA 0 NA 0 NA NA NA 0.769 0.906 0.923 ...
##  $ BABIP    : num  NA 0 NA NaN NA NA NA 0.281 0.313 0.325 ...
    bstats <- battingStats(cbind=FALSE)
    str(bstats)
## 'data.frame':    96600 obs. of  12 variables:
##  $ playerID: chr  "aardsda01" "aardsda01" "aardsda01" "aardsda01" ...
##  $ yearID  : int  2004 2006 2007 2008 2009 2010 2012 1954 1955 1956 ...
##  $ stint   : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ teamID  : Factor w/ 149 levels "ALT","ANA","ARI",..: 117 35 33 16 116 116 93 80 80 80 ...
##  $ lgID    : Factor w/ 7 levels "AA","AL","FL",..: 5 5 2 2 2 2 2 5 5 5 ...
##  $ BA      : num  NA 0 NA 0 NA NA NA 0.28 0.314 0.328 ...
##  $ PA      : num  0 3 0 1 0 0 0 509 665 660 ...
##  $ TB      : num  0 0 0 0 0 0 0 209 325 340 ...
##  $ SlugPct : num  NA 0 NA 0 NA NA NA 0.447 0.54 0.558 ...
##  $ OBP     : num  NA 0 NA 0 NA NA NA 0.322 0.366 0.365 ...
##  $ OPS     : num  NA 0 NA 0 NA NA NA 0.769 0.906 0.923 ...
##  $ BABIP   : num  NA 0 NA NaN NA NA NA 0.281 0.313 0.325 ...


[Package Lahman version 2.0-1 Index]