battingStats {Lahman} | R Documentation |
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.
battingStats(data = Batting, idvars = c("playerID", "yearID", "stint", "teamID", "lgID"), cbind = TRUE)
data |
input data, typically |
idvars |
ID variables to include in the output data.frame |
cbind |
If |
Standard calculations, e.g., BA <- H/AB
are problematic because of the
presence of NA
s and zeros. This function tries to deal with those
problems.
A data.frame with all the observations in data
.
If cbind==FALSE
, only the idvars
and the calculated variables are returned.
Michael Friendly, Dennis Murphy
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 ...