analyze_mlbdata_with_R

R でメジャーリーグのデータ解析をした記録です。 正本は各記事の .Rmd で、このページは tools/build-docs.R が生成しています。

0

打者は何歳でピークを迎えるか

·

年齢別の平均では加齢を測れない. 同じ選手の前年との差だけを積み上げて年齢曲線を作る

articles/aging-curve/aging-curve.Rmd

打者は何種類に分かれるか

·

打席あたりの結果の内訳を主成分分析とk-meansで分類し, タイプの構成が時代でどう変わったかを見る

articles/batter-types/batter-types.Rmd

メジャーリーガーは何年で消えるか

·

デビューからの在籍年数をKaplan-Meier法で推定する. まだ現役の選手は打ち切りとして扱う

articles/career-length/career-length.Rmd

変化量が大きい球ほど空振りするのか

·要データ

球種ごとに変化量と空振り率の関係を推定する. 投手をまたぐ比較と, 同じ投手の中での比較は答えが違う

articles/pitch-movement/pitch-movement.Rmd

「左投手に強い打者」は実在するのか

·要データ

対左右の打率差を打者ごとに出し, 縮小推定と後年での予測でどこまでが実力かを調べる

articles/platoon-split/platoon-split.Rmd

4月の首位打者は, 首位打者になるのか

·要データ

事後分布から「その打者が真のリーグ最高打率である確率」を出す。最大でも4%だった

articles/batting-average-bayes/batting-title.Rmd

年俸データを使う前に

·

Lahmanの年俸データ(1985-2016)。まず欠けを数えてから, 時代をまたいで比べる

articles/salaries/salaries.Rmd

dplyrのacross()を使う (旧summarise_each)

·要データ

複数列に同じ集計をかける。2013年4月の打率・長打率・被投球数を一度に出す

articles/across-basics/across-basics.Rmd

階層ベイズモデルの基礎

·

序盤の打率からシーズン打率を当てる。縮小推定は分散を直すがバイアスは直さない

articles/batting-average-bayes/hierarchical-bayes.Rmd

プロ野球選手の誕生日

·要データ

日本は4月生まれが多い。学年の区切り(4月2日)と一致する

articles/birth-month-npb/birth-month-npb.Rmd
選手

3000本安打打者の通算成績推移

·

通算3000安打以上の打者の安打・本塁打・三振の積み上げをplotlyで

articles/career-hits/career-hits.Rmd

250勝投手の通算成績推移

·

通算250勝以上の投手の勝利・被本塁打・奪三振の積み上げをplotlyで

articles/career-wins/career-wins.Rmd

打席結果に流れはあるか (連検定)

·要データ

打者ごとに連検定をかけるとp<0.05が何人か出る。それは流れの証拠か

articles/clutch-hitting/clutch-hitting-pooled.Rmd
打撃

dplyr::doを使う

·要データ

グループごとにモデルを当てる do() の練習。今なら reframe や nest_by

articles/clutch-hitting/clutch-hitting.Rmd

TokyoR 打撃結果データの利用例

·要データ

retrosheet の97列データの読み方。打率と得点圏打率を例に (2014-05-31 発表)

articles/clutch-pitching/clutch-pitching.Rmd

取られたら取り返す

·要データ

直前のイニングに点を取られると, 次の攻撃で打線は奮起するのか

articles/comeback-wins/comeback-wins.Rmd

ボールの "ノビ" と空振り率

·要データ

ストレートの垂直変化量と空振り率の関係。Statcast 2024年データ

articles/fastball-carry/fastball-carry.Rmd

ファストボール・カウント

·要データ

どのカウントで速球を投げるか。ボール数からストライク数を引いた値でほぼ決まる

articles/fastball-count/fastball-count.Rmd

野球のスコアと試合数

·要データ

1938-2013年の全打席から, スコア別の試合数を数える. 一番ありがちなのは 3-2

articles/game-scores/game-scores.Rmd

100安打の最速記録

·要データ

シーズン100安打に何試合で到達したか。retrosheet の全打席結果から数える

articles/hit-streaks/hit-streaks.Rmd

明日につながるヒット

·要データ

大差の負け試合で打ったヒットは, 翌日の成績につながるのか

articles/next-game-effect/next-game-effect.Rmd
投球

rgl + WebGL の動作確認

·

3D プロットをブラウザで動かせるかの確認。旧 knitr::hook_webgl の置き換え

articles/pitch-3d/webgl-check.Rmd

得点期待値と RE24 で勝負強さを測る

·要データ

走者・アウト別の得点期待値を出し、打席ごとに期待値をどれだけ動かしたかで打者を評価する

articles/run-expectancy/run-expectancy.Rmd

ランナーの状況とホームラン

·要データ

走者の有無で本塁打の出やすさは変わるのか。効くのは人数ではなく一塁が空いているかどうか

articles/runners-and-homers/runners-and-homers.Rmd

三者凡退の後の援護

·要データ

三者凡退でリズムよく抑えた次の攻撃は, 本当に点が入りやすいのか

articles/three-run-innings/three-run-innings.Rmd

勝率テーブルの集計

·要データ

1939-2013年の試合状況別データをまとめ、標本の少ない状態を平滑化する

articles/win-probability/win-probability-table.Rmd

Win-probability

·要データ

イニング・裏表・アウト・走者・点差から, ホームチームの勝率を出す

articles/win-probability/win-probability.Rmd