300億円欲しい

メジャーリーグのデータ解析します

三者凡退でリズムを作りました

三者凡退と援護

なんJ PRIDE : 実況「三者凡退でリズムを作りました!」

分かります.

三者凡退に抑えると, 味方が点を取ってくれるという風潮. ありますね.

適当な事を言う解説者は絶対に許しません. しっかり確認しましょう.

2013年メジャーリーグ全試合結果データを利用.

三者凡退に抑えた直後の攻撃と, それ以外の攻撃.
取ってくれた得点に, 差が出るのかどうかを確認します.

データとコード

集計の詳細は, ここに書いてあります.
RPubs - 三者凡退の後の援護

ソースコードはこちら.
analyze_mlbdata_with_R/batting_data/game_analysis/sanbon at master · gghatano/analyze_mlbdata_with_R · GitHub

投手が3人連続でアウトをとってチェンジになった直後の攻撃で, 何点取ったかを確認.
平均を調べて, 三者凡退後とそうでない場合で比較しました.

結果

三者凡退の直後の平均得点は, 0.447点でした.
三凡以外の場合の平均得点は, 0.454点でした.

...変わりませんね.

意味はありませんけど, 得点の分布を載せます.
右側が三者凡退直後, 左側がそうでない場合です.
f:id:gg_hatano:20140611161803p:plain

よく分かりません.

結論

投手はとにかく抑えればいいのです. 三者凡退にこだわる必要一切なし.
今後も, 適当な事を言う野球解説者をやっつけていきます.

以上です.

打者1巡目は良い投手

打者1巡目はちゃんと抑えてくれる投手. いますね.
今回は, 打者1巡目と2巡目以降で成績が大きく変わる投手をピックアップしたいです.

いわゆる, 立ち上がりの悪さ...みたいなものを, 客観的に評価したいです.

MLBの試合結果に関するデータがあるので, さっそくチェックしてみます.
投手の成績を, 打順1巡目とそれ以降に分けて集計, 確認してみます.

打者1巡目とそれ以降の被打率比較

とりあえず投手全体の成績を見てみます.
100イニング以上投げた先発投手を抽出.
1巡目の被打率と2巡目以降の被打率を集計しました.

onecycle hit atbat average
1 TRUE 7844 31712 0.2474
2 FALSE 15557 60325 0.2579

打順1巡目の場合, 被打率は.2474,
打順2巡目以降は, 被打率は.2579.

打者1巡すると, 被打率は1分くらい悪化しています.

要因はいろいろあるでしょうから, 特にコメントしません.

全体の成績の様子を見てみます.

打者1巡目とそれ以降の被打率比較

$x$軸が打者1巡目の被打率,
$y$軸が打者2巡目以降の被打率です.
100イニング以上投げた先発投手について, 被打率をプロットしました.

f:id:gg_hatano:20140508223024p:plain

$y = x$ の線を引いています.
点が線より上側にいれば, 2巡目以降の方が打たれる, ということです.
線よりも上にいる投手のほうが多いですね.
2巡目以降の方が打たれる, ということでしょう.

次に, 個別の成績を確認します.

打者1巡すると, 被打率が悪くなる投手ランキング.

name not_first first diff
1 Charlie Morton 0.30 0.20 -0.10
2 A.J. Griffin 0.26 0.17 -0.09
3 Jake Peavy 0.27 0.18 -0.09
4 Zach McAllister 0.29 0.20 -0.08
5 Matt Garza 0.28 0.20 -0.08

打者1巡すると, 被打率が良くなる投手ランキング

name not_first first diff
1 Martin Perez 0.24 0.32 0.08
2 Gerrit Cole 0.23 0.30 0.07
3 Chris Tillman 0.22 0.29 0.07
4 Kevin Correia 0.27 0.34 0.06
5 Jacob Turner 0.24 0.30 0.06


被打率. よく分かりません.

打者1巡目とそれ以降のK/BB比較

K/BBを見ればいい気がしました.
三振数/四球数で得られる指標です.
立ち上がりの悪さ, みたいなものが見えるかもしれません.
本場メジャーを唸らせた、田中将大投手の「K/BB」とは - NAVER まとめ

また集計してグラフにしました.
$x$軸が打者1巡目のK/BB,
$y$軸が打者1順目以降のK/BBです.
100イニング以上投げた先発投手について, K/BBをプロットしました.

f:id:gg_hatano:20140508230943p:plain
$y = x$ の線を引いています.
点が線より上側にいれば, 2巡目以降の方がK/BBが悪くなる, ということです.
線よりも下にいる投手のほうが多いです.
打者1巡目の方が, 安定した投球ができる選手が多い, ということでしょう.

少し意外な結果です. 立ち上がりが悪い投手がもっと多いと思ってました.

次に, 個別の成績を確認します.

打者1巡すると, K/BBが悪くなる投手ランキング.

name not_first first diff
1 Matt Harvey 4.22 9.62 5.40
2 Joe Blanton 2.16 6.50 4.34
3 Randall Delgado 2.42 6.60 4.18
4 Bruce Chen 1.65 4.40 2.75
5 Travis Wood 1.42 4.00 2.58

打者1巡すると, K/BBが良くなる投手ランキング

name not_first first diff
1 Chris Tillman 3.29 1.64 -1.65
2 Cliff Lee 6.77 5.21 -1.56
3 Corey Kluber 4.13 2.73 -1.40
4 Stephen Strasburg 3.51 2.12 -1.39
5 Anibal Sanchez 4.06 2.86 -1.20

ストラスバーグの立ち上がりが悪い, というのは, なんとなく分かる気がします.

感想

よく分からん.
日本の投手のデータを使って集計してみたい

ノーヒットでも勝てます

序論

5月2日, 西武の岸選手がノーヒットノーランを達成しました.

【超速報】西武、岸、ノーヒットノーラン達成!!!! :日刊やきう速報

イケメンです.
ノーヒットノーランは, 漢字だと無安打無得点.
ヒットを打たれずに, かつ点を取られないことが条件です.

...無安打有得点試合ってあるんですかね?
つまり, 全ての得点が, 安打以外の方法で生まれた試合です.
ノーヒッターだけどノーランじゃない試合. 四死球やエラーと犠打だけでも点は取れますし.

もしかしたら, ノーヒットで勝った試合もあるかもしれません.
メジャーリーグの試合結果データがあるので, 調べてみました.

ノーヒットで勝った試合

1922年から2013年までの, メジャーリーグの全打席結果データを, retrosheetからダウンロードします.
http://www.retrosheet.org/game.htm
試合ごとに安打数と得点を集計, ノーヒットの試合をチェックします.

無安打試合

まずは, 最近のノーヒット試合からチェックします.
2013年のノーヒット試合です.

id year team hit score_team
1 CIN201307020 2013 SFN 0 0
2 MIA201309290 2013 DET 0 0
3 SDN201307130 2013 SDN 0 0

2013年には, ノーヒットゲームが3試合ありました.
scoreの列に, 得点が書いてありますが, 全て0点です.
つまり, 無安打無得点試合です.

無安打有得点試合

次に, 無安打有得点試合を見てみます.
1922年から2013年までの間に, 全部で12試合ありました.

id year team hit score_team
1 CLE201107270 2011 CLE 0 1
2 LAN200806280 2008 LAN 0 1
3 HOU199309080 1993 NYN 0 1
4 CLE199204121 1992 CLE 0 2
5 CHA199007010 1990 CHA 0 4
6 CAL198609190 1986 CAL 0 1
7 OAK197607280 1976 OAK 0 1
8 PHI196807292 1968 PHI 0 1
9 BAL196704301 1967 DET 0 2
10 CLE196708252 1967 CLE 0 1
11 HOU196404230 1964 CIN 0 1
12 HOU196305170 1963 PHI 0 1

無安打で4点もとれるんですね...

無安打有得点勝利試合

最後に, 無安打有得点勝利試合をチェックします.
全部で5試合ありました.

id team hit opponent year score_team score_opponent
1 LAN200806280 LAN 0 ANA 2008 1 0
2 CLE199204121 CLE 0 BOS 1992 2 1
3 CHA199007010 CHA 0 NYA 1990 4 0
4 BAL196704301 DET 0 BAL 1967 2 1
5 HOU196404230 CIN 0 HOU 1964 1 0

最近だと, 2008年6月28日. アスレチックスとドジャースの試合ですね.

無安打有得点勝利試合の内容

詳しい試合結果です.

f:id:gg_hatano:20140505200500p:plain

Boxscore: LA Angels vs. LA Dodgers - June 28, 2008 | MLB.com: News

ドジャースは無安打1得点.
アスレチックスは5安打無得点.

ドジャースが3投手が投げて完封, 勝利しています. 9回は斎藤が投げていますね.
アスレチックスは3投手が無安打に抑えているのに, エラー絡みで1点取られて負けました.

何が起こったのか. 確認します.
Baseball Referenceで探します. アメリカのメジャーリーグファンサイトです.
June 28, 2008 Los Angeles Angels of Anaheim at Los Angeles Dodgers Play by Play and Box Score - Baseball-Reference.com


0-0で迎えた5回裏. ドジャースの攻撃.
先頭のマット・ケンプが投手のエラーで出塁して1塁.
次打者, デウィットの打席で, マット・ケンプは2塁へ盗塁成功. さらに捕手の送球エラーで3塁へ.
そしてデウィットのライトフライが犠牲フライになって, 得点.

この1点を守り切って, ドジャースが勝利しました.
最終回は斎藤隆が投げて, しっかり抑えていますね. すげえ.

まとめ

ノーヒットでも勝てます

メジャーリーグで開幕5試合のチーム安打数を集計したい

開幕5試合のチーム安打数

ネタが古いのですが, こんな記事を見つけました.
あしたへホームラン : 巨人、ホームラン3連発、日本新記録の開幕5戦77安打!

f:id:gg_hatano:20140430214817j:plain

2014年, 巨人の開幕5試合のヒット数は77本.
これは, 日本プロ野球史上で最多の記録だったみたいです.

開幕戦から, 安打数と得点は,

第1戦 14安打(12得点)
第2戦 16安打( 3得点)
第3戦 17安打(12得点)
第4戦  9安打( 2得点)
第5戦 21安打(15得点)

でした. 最高でした.

...メジャーリーグだとどうなんですかね?
手元に1922年から2013年までの試合結果データがあるので, 集計してみました.

メジャーリーグで開幕5試合のチーム安打数記録

Rのdata.tableとdplyrでサクッと集計します.

結果は, 下表の通りです.
安打数上位10チームとその年度.

team year hit_5game
1 SFN 1990 72
2 BRO 1952 70
3 MIN 1970 70
4 BOS 2005 69
5 CIN 1976 69
6 PIT 1960 68
7 TBA 1998 68
8 CIN 1938 67
9 CLE 1922 67
10 COL 1995 67

1990年のSFNが72安打が最多みたいです.
SFN. サンフランシスコ・ジャイアンツです.

メジャーリーグの史上最多記録も, ジャイアンツが保持していました.
ジャイアンツ最高です.

1990年, ジャイアンツの開幕5試合の, 安打数と得点はこんな感じでした.

id team hit score
1 ATL199004111 SFN 13 8
2 ATL199004112 SFN 9 3
3 ATL199004120 SFN 14 13
4 ATL199006080 SFN 27 23
5 ATL199006090 SFN 9 3

27安打で23得点. 半端ないですね.

メジャーリーグで連続5試合のチーム安打数記録

気になったので, 開幕5試合, という条件を緩めて集計します.
全ての連続5試合でチーム安打数を集計して, ランキングを作ります.
上位10チームとその年度, 日付です.

id team hit_5game
1 BSN192208050 PIT 100
2 PHI192208070 PIT 96
3 BSN192208040 PIT 95
4 BOS195006040 BOS 90
5 BSN192208030 PIT 87
6 BAL201007240 MIN 86
7 PHI192208081 PIT 86
8 ATL199307210 ATL 85
9 BOS195006070 BOS 85
10 NYA199605150 SEA 85

PIT.
ピッツバーグ・パイレーツですかね.
1922年. 8月5日から, 5試合で100安打.....?????

その5試合の, 安打数と得点を見てみます.

id team hit score
1 BSN192208050 PIT 16 9
2 PHI192208070 PIT 22 17
3 PHI192208081 PIT 27 19
4 PHI192208082 PIT 19 7
5 PHI192208100 PIT 16 14

以上です.

ソースコード

ここにあります.
gghatano/analyze_mlbdata_with_R · GitHub

連続5試合の安打数を集計を, dplyrの中で行なう際に困りました.
Twitterで呟いたら, おじさんたちが助けてくれました.

Rで,長さ100の数列があって,連続する5個の数の和を全て(96個)欲しいとき,どうすれば賢いかな - My Life as a Mock Quant

ありがとうございました.

野球のスコアで一番多いのは何対何だと思う?

野球のスコア

こんなツイートを見つけました.

知りませんでした.
手元にMLBのデータがあるので, 調べてみました.

データの取得

http://retrosheet.orgからデータをダウンロードします.
メジャーリーグの試合の, 全てのイベントに関するデータが取得できます. 下記参照.
Rで野球データを取得したい - 300億円欲しい
とりあえず, 1921年から2013年までのデータを取得しました.
全部で2GBくらいです.

準備は整いました. 早速調査しましょう.

2013年のスコア別試合数を調べたい

結構なサイズのデータになりますので, 工夫しないと扱いづらいです.

Rのdata.tableとdplyrを使えば, 手早く簡単に処理できます.

解析に用いたコードは, ここからダウンロードできます.
analyze_mlbdata_with_R/batting_data/game_analysis at master · gghatano/analyze_mlbdata_with_R · GitHub

試しに, 2013年だけで試合結果を集計してみました.

試合数が多かった上位10試合.

  score game
1  4-3  118
2  3-2  113
3  4-2  109
4  2-1  100
5  3-1   99
6  5-4   75
7  5-2   73
8  6-2   72
9  5-1   62
10 4-1   61

2013年だけだと, 4-3の試合が最も多かったらしいです.
図がないと淋しいので, 棒グラフにしました.
f:id:gg_hatano:20140424220625p:plain
よく分かりません.

1921年から2013年までのスコア別試合数

ここからが本番です.
1921年から2013年までのすべての試合のデータでやってみます.
ちなみに, 全部で134,448試合が行われたみたいです.

どの試合結果が最も多いのでしょうか.

上位10パターンをあげます.

rank score game
1 3-2 5964
2 4-3 5575
3 2-1 4951
4 4-2 4880
5 3-1 4464
6 5-3 4320
7 5-4 4303
8 5-2 4011
9 4-1 3825
10 6-3 3293
3-2の試合が最も多いみたいですね.

...あれ?

以上です.

ソースコード

githubに全部アップロードしてあります.
dplyrとdata.tableでゴリゴリやれば速く簡単に処理できます. こんな感じです.

gist11254803

ホームチームとアウェイチームの得点

x軸にホームの得点,
y軸にアウェイの得点,
z軸に試合数, とした3次元プロットを作りました.

f:id:gg_hatano:20140428101436p:plain


3次元だと見づらいので, 2次元ヒートマップにします.
f:id:gg_hatano:20140428101525p:plain

どうですかね