日本プロ野球シーズン成績データを作ったので遊びます。
年齢別に通算最多安打ランキングを作ってみます。
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")