日本プロ野球シーズン成績データを作ったので遊びます。
年齢別に通算最多安打ランキングを作ってみます。
22歳までの成績で最多安打、みたいなことがしたいです。
library(readr)
library(dplyr)
library(xtable)
dat = read_csv("npbBattingData.csv")
## Warning: 50315 problems parsing 'npbBattingData.csv'. See problems(...) for
## more details.
dat_MaxCumulativeHit =
dat %>%
select(Name, PlayerID, Age, H) %>%
group_by(Name, PlayerID) %>%
arrange(Age) %>%
mutate(CumulativeHit = cumsum(H)) %>%
group_by(Age) %>%
summarise(CumulativeHit = max(CumulativeHit))
dat %>%
select(Name, PlayerID, Age, H) %>%
group_by(Name, PlayerID) %>%
arrange(Age) %>%
mutate(CumulativeHit = cumsum(H)) %>%
inner_join(dat_MaxCumulativeHit, by = c("CumulativeHit", "Age")) %>%
group_by(add=FALSE) %>%
arrange(Age) %>%
filter(Age <= 41) %>%
xtable() %>% print(type='html')
| Name | PlayerID | Age | H | CumulativeHit | |
|---|---|---|---|---|---|
| 1 | Masaichi Kaneda* | kaneda002mas | 16 | 13 | 13 |
| 2 | Masaichi Kaneda* | kaneda002mas | 17 | 21 | 34 |
| 3 | Kihachi Enomoto* | enomot000kih | 18 | 146 | 146 |
| 4 | Kihachi Enomoto* | enomot000kih | 19 | 148 | 294 |
| 5 | Masahiro Doi | doi---002mas | 20 | 168 | 434 |
| 6 | Masahiro Doi | doi---002mas | 21 | 135 | 569 |
| 7 | Masahiro Doi | doi---002mas | 22 | 129 | 698 |
| 8 | Masahiro Doi | doi---002mas | 23 | 147 | 845 |
| 9 | Kihachi Enomoto* | enomot000kih | 24 | 180 | 1013 |
| 10 | Kihachi Enomoto* | enomot000kih | 25 | 160 | 1173 |
| 11 | Kihachi Enomoto* | enomot000kih | 26 | 169 | 1342 |
| 12 | Kihachi Enomoto* | enomot000kih | 27 | 161 | 1503 |
| 13 | Kihachi Enomoto* | enomot000kih | 28 | 132 | 1635 |
| 14 | Kihachi Enomoto* | enomot000kih | 29 | 167 | 1802 |
| 15 | Kihachi Enomoto* | enomot000kih | 30 | 108 | 1910 |
| 16 | Kihachi Enomoto* | enomot000kih | 31 | 149 | 2059 |
| 17 | Kihachi Enomoto* | enomot000kih | 32 | 109 | 2168 |
| 18 | Kihachi Enomoto* | enomot000kih | 33 | 86 | 2254 |
| 19 | Isao Harimoto* | harimo000isa | 34 | 138 | 2322 |
| 20 | Isao Harimoto* | harimo000isa | 35 | 113 | 2435 |
| 21 | Isao Harimoto* | harimo000isa | 36 | 182 | 2617 |
| 22 | Isao Harimoto* | harimo000isa | 37 | 153 | 2770 |
| 23 | Isao Harimoto* | harimo000isa | 38 | 131 | 2901 |
| 24 | Isao Harimoto* | harimo000isa | 39 | 60 | 2961 |
| 25 | Isao Harimoto* | harimo000isa | 40 | 89 | 3050 |
| 26 | Isao Harimoto* | harimo000isa | 41 | 35 | 3085 |
土井正博、榎本喜八、張本勲です。安打製造機たちです。
張本勲、榎本喜八、土井正博の通算安打数推移を可視化します。
ついでにイチローも足しておきます。
library(ggplot2)
dat %>%
filter(PlayerID %in%c("suzuki001ich", "enomot000kih", "harimo000isa", "doi---002mas")) %>%
select(Name, PlayerID, Age, H) %>%
group_by(Name, PlayerID) %>%
arrange(Age) %>%
mutate(CumulativeHit = cumsum(H)) %>%
ggplot(aes(x=Age)) +
geom_line(aes(x=Age, y=CumulativeHit, group = Name, color=Name)) +
ggtitle("Cumulative Hit")