batting_2000 <- batting_2000 |>
group_by(playerID, yearID) |> # combine stints
summarize(
G = sum(G), AB = sum(AB), R = sum(R),
H = sum(H), X2B = sum(X2B), X3B = sum(X3B),
HR = sum(HR), RBI = sum(RBI), SB = sum(SB),
CS = sum(CS), BB = sum(BB), SH = sum(SH),
SF = sum(SF), HBP = sum(HBP),
AB_career = first(AB_career),
POS = first(POS)
) |>
mutate(
SLG = (H - X2B - X3B - HR + 2 * X2B + 3 * X3B + 4 * HR) / AB,
OBP = (H + BB + HBP) / (AB + BB + HBP + SF),
OPS = SLG + OBP
) |> # add age
inner_join(People, by = "playerID") |>
mutate(
Birthyear = if_else(
birthMonth >= 7, birthYear + 1, birthYear
),
Age = yearID - Birthyear
) |>
drop_na(Age) # Drop NA's