
FieldingPost data
FieldingPost.RdPost season fielding data
Usage
data(FieldingPost)Format
A data frame with 16502 observations on the following 17 variables.
playerIDPlayer ID code
yearIDYear
teamIDTeam; a factor
lgIDLeague; a factor with levels
ALNLroundLevel of playoffs
POSPosition
GGames
GSGames Started
InnOutsTime played in the field expressed as outs
POPutouts
AAssists
EErrors
DPDouble Plays
TPTriple Plays
PBPassed Balls
SBStolen Bases allowed (by catcher)
CSCaught Stealing (by catcher)
Source
Lahman, S. (2025) Lahman's Baseball Database, 1871-2024, 2025 version, https://sabr.org/lahman-database/
Examples
require("dplyr")
## World Series fielding record for Yogi Berra
FieldingPost %>%
filter(playerID == "berrayo01" & round == "WS")
#> playerID yearID teamID lgID round POS G GS InnOuts PO A E DP TP PB SB CS
#> 1 berrayo01 1947 NYA AL WS C 4 3 86 19 2 2 0 0 0 NA NA
#> 2 berrayo01 1947 NYA AL WS RF 2 1 36 3 0 0 0 0 NA NA NA
#> 3 berrayo01 1949 NYA AL WS C 4 4 108 37 3 0 1 0 0 NA NA
#> 4 berrayo01 1950 NYA AL WS C 4 4 111 30 1 0 1 0 0 NA NA
#> 5 berrayo01 1951 NYA AL WS C 6 6 159 27 3 1 0 0 1 NA NA
#> 6 berrayo01 1952 NYA AL WS C 7 7 192 59 7 1 1 0 1 NA NA
#> 7 berrayo01 1953 NYA AL WS C 6 6 156 37 3 0 1 0 0 NA NA
#> 8 berrayo01 1955 NYA AL WS C 7 7 180 40 4 0 1 0 0 NA NA
#> 9 berrayo01 1956 NYA AL WS C 7 7 185 50 3 0 0 0 0 NA NA
#> 10 berrayo01 1957 NYA AL WS C 7 7 187 45 2 1 0 0 0 NA NA
#> 11 berrayo01 1958 NYA AL WS C 7 7 191 60 6 0 1 0 1 NA NA
#> 12 berrayo01 1960 NYA AL WS C 3 2 54 13 1 0 0 0 0 NA NA
#> 13 berrayo01 1960 NYA AL WS LF 3 3 60 4 0 0 0 0 NA NA NA
#> 14 berrayo01 1960 NYA AL WS RF 1 0 9 1 0 0 0 0 NA NA NA
#> 15 berrayo01 1961 NYA AL WS LF 4 4 108 11 0 1 0 0 NA NA NA
#> 16 berrayo01 1962 NYA AL WS C 1 1 24 6 1 0 0 0 0 NA NA
## Yogi's career efficiency in throwing out base stealers
## in his WS appearances and CS as a percentage of his
## overall assists
FieldingPost %>%
filter(playerID == "berrayo01" & round == "WS" & POS == "C") %>%
summarise(cs_pct = round(100 * sum(CS)/sum(SB + CS), 2),
cs_assists = round(100 * sum(CS)/sum(A), 2))
#> cs_pct cs_assists
#> 1 NA NA
## Innings per error for several selected shortstops in the WS
FieldingPost %>%
filter(playerID %in% c("belanma01", "jeterde01", "campabe01",
"conceda01", "bowala01"), round == "WS") %>%
group_by(playerID) %>%
summarise(G = sum(G),
InnOuts = sum(InnOuts),
Eper9 = round(27 * sum(E)/sum(InnOuts), 3))
#> # A tibble: 5 × 4
#> playerID G InnOuts Eper9
#> <chr> <int> <int> <dbl>
#> 1 belanma01 22 504 0.268
#> 2 bowala01 6 161 0
#> 3 campabe01 19 516 0.209
#> 4 conceda01 19 482 0.168
#> 5 jeterde01 38 1027 0.079
## Top 10 center fielders in innings played in the WS
FieldingPost %>%
filter(POS == "CF" & round == "WS") %>%
group_by(playerID) %>%
summarise(inn_total = sum(InnOuts)) %>%
arrange(desc(inn_total)) %>%
head(., 10)
#> # A tibble: 10 × 2
#> playerID inn_total
#> <chr> <int>
#> 1 dimagjo01 1370
#> 2 mantlmi01 1364
#> 3 willibe02 880
#> 4 snidedu01 868
#> 5 floodcu01 558
#> 6 mcgeewi01 542
#> 7 speaktr01 537
#> 8 whitede03 516
#> 9 grissma02 515
#> 10 hendeda01 508
## Most total chances by position
FieldingPost %>%
filter(round == "WS" & !(POS %in% c("DH", "OF", "P"))) %>%
group_by(POS, playerID) %>%
summarise(TC = sum(PO + A + E)) %>%
arrange(desc(TC)) %>%
do(head(., 1)) # provides top player by position
#> `summarise()` has grouped output by 'POS'. You can override using the `.groups`
#> argument.
#> # A tibble: 8 × 3
#> # Groups: POS [8]
#> POS playerID TC
#> <chr> <chr> <int>
#> 1 1B hodgegi01 353
#> 2 2B friscfr01 247
#> 3 3B gardnla01 97
#> 4 C berrayo01 464
#> 5 CF dimagjo01 151
#> 6 LF gosligo01 68
#> 7 RF bauerha01 81
#> 8 SS rizzuph01 259