■back
 『ベストプレープロ野球’00』チーム成績データ解析ツール
■本格プロ野球シミュレーション『ベストプレープロ野球’00(ベスプレ)』の、チーム成績データを集計・分析するためのツールです。たくさんのシーズンを試行して、チーム成績の平均値や傾向を調べたり、ある能力値だけを変えてみるなど、異なる条件で得られたチーム成績の平均値や傾向どうしを比較したり――などなど、そういったコトが、簡単にできるツールです。

■たとえば、こんなコトを調べてみたいと思ったコトは、ありませんか。
  • この選手データで、たくさんのシーズンを試行してみたら、それぞれのチームの、チーム打率やチーム本塁打、チーム防御率などのチーム成績は、平均してどのくらいになるのだろう?
  • ある特定の能力値(データ)を変えてみたら、チーム成績には、平均してどのくらいの影響が出るのだろう?
  • 上のような疑問に対して、信頼できる結果を得るためには、何シーズンくらい試行したら良いのだろう? シーズンごとのバラツキは、どの程度になるのだろう?
――このツールを使えば、これらのコトが、手早く簡単に調べられるようになるでしょう。100 シーズン分のチーム成績データを集めて、分析するのに、1 時間もかからないハズです。
□ウチのサイトの Web ページ「チーム成績データ分析・1:分析に必要な望ましい試行数」や、「チーム成績データ分析・2:内野手の守備力」の内容は、本ツールを用いて収集・分析したデータに基づいています。本ツールを用いて、どのような分析ができるのか、興味のある方は、まず、上の Web ページをご覧下さると、良いと思います。

■このページの一番上に戻る。

 ■ツールのダウンロード
■下のツール名をクリックして、ダウンロードして下さい(LZH ファイル・約 717KB)。
  >> 『ベストプレープロ野球’00』用・チーム成績データ解析ツール

■ダウンロード後は、お好きな解凍ソフトで解凍して下さい。解凍されたファイルは、『R』の作業ディレクトリに置く必要があります。ご注意下さい。

■このページの一番上に戻る。

 ■ファイルの種類と説明
■このツールを使うには、CRAN(The Comprehensive R Archive Network)の提供する統計計算のためのフリーソフトウェア『R』が必要です。CRAN のウェブサイト(https://cran.r-project.org/)から、『R』をダウンロードすることができます。言語は“日本語”を選んで下さい(“日本語”以外の言語でインストールされた『R』で、本ツールを使うと、文字化けを起こす可能性があります)。なお、『R』の使い方については、ネットや書籍などで、調べて下さい。

■このツールには、以下の『R』用のファイルが、含まれています。
  • initialize.R」:「bpp_stats.R」で作成したチーム成績データファイルを完全に初期化します。
  • bpp_stats.R」:『ベスプレ』のゲーム上でテキスト保存された野手成績リスト「b_stats.txt」および投手成績リスト「p_stats.txt」から、チーム成績データファイルを作成します。
  • bpp_stats_check.R」:「bpp_stats.R」で作成したチーム成績データファイルに、データの重複などの不具合がないかを調べます。
  • bpp_data.R」:「bpp_stats.R」で作成したチーム成績データファイルを、使いやすい形のデータファイルに変換します。
  • bpp_stats_function.R」:「bpp_data.R」で作成したチーム成績データファイルを用いて、さまざまな分析を行います。

■このページの一番上に戻る。

 ■準 備
■1. チーム成績データを保存するデータファイル(ダミーファイル)を準備する
1-1. 『R』を起動します。
1-2. [ファイル]→[スクリプトを開く...]から、「initialize.R」を選択します。
1-3. スクリプト冒頭の“初期設定”のところで、作成するチーム成績データファイルの名前を設定します。初期設定では“bpp_stats0.txt”となっています。
1-4. ダミーファイルの書き込みを行います。Ctrl + A でスクリプト全体を選択し、F5 キーでスクリプトを実行すると良いでしょう。実行すると、このファイル名のデータは完全に初期化され失われるので、特に注意して下さい!(うっかり上書きされないように、致命的となるスクリプト部分はコメント記号“#”で保護されています。実行する際は、その部分の“#”を外しておいて下さい)
1-5. [ファイル]→[スクリプトを閉じる]などで、「initialize.R」を閉じます(うっかりチーム成績データを上書きして初期化してしまわないために、このスクリプトを閉じるときは、保存しないで閉じるようにしたほうが良いでしょう)。
□ちなみに、最初にダミーファイルを作成する理由――「bpp_stats.R」は、すでに存在しているチーム成績データファイルを読み込み、それに新たなシーズンのチーム成績データを付加します。しかし、初めてこのツールを使うときには、当然それ以前のシーズンのチーム成績データファイルはありません。したがって、初めて「bpp_stats.R」を使う前に、読み込みエラー防止用のダミーファイルを作成しておく必要があるのです。

■2. 各スクリプトの初期設定を行う
2-1. 続いて、[ファイル]→[スクリプトを開く...]から、「bpp_stats.R」を選択します。
2-2. スクリプト冒頭の“初期設定”のところで、“オプション名の設定”、“試合数の設定”、“データをセーブするファイルの名前の設定”を、それぞれ行います。
オプション名:どのような条件で試行したシーズンなのかを示す変数名です。たとえば、D チームの野手の“タイプ”をすべて“P”にした場合は“D_type_P”など、分かりやすい名前を付けましょう。
試合数の設定:ペナントレースの試合数です。
データをセーブするファイルの名前の設定:データをセーブするファイルの名前です。上で作成したダミーファイルの名前と一致する必要があります。
2-3. [ファイル]→[保存]と選択して、「bpp_stats.R」を保存します。
2-4. [ファイル]→[スクリプトを閉じる]などで、「bpp_stats.R」を閉じます。

2-5. 続いて、[ファイル]→[スクリプトを開く...]から、「bpp_stats_check.R」を選択します。
2-6. スクリプト冒頭の“初期設定”のところで、“チェックするファイルのファイル名の設定”を行います。この名前は、上で作成したダミーファイルの名前と一致する必要があります。
2-7. [ファイル]→[保存]と選択して、「bpp_stats_check.R」を保存します。
2-8. [ファイル]→[スクリプトを閉じる]などで、「bpp_stats_check.R」を閉じます。

2-9. 続いて、[ファイル]→[スクリプトを開く...]から、「bpp_data.R」を選択します。
2-10. スクリプト冒頭の“初期設定”のところで、“「bpp_stats.R」で作成したファイルの名前の設定”、および、“データをセーブするファイルの名前の設定”を、それぞれ行います。
2-11. [ファイル]→[保存]と選択して、「bpp_data.R」を保存します。
2-12. [ファイル]→[スクリプトを閉じる]などで、「bpp_data.R」を閉じます。

2-13. 続いて、[ファイル]→[スクリプトを開く...]から、「bpp_stats_function.R」を選択します。
2-14. スクリプト冒頭の“初期設定”のところで、“「bpp_stats.R」で作成したファイルの名前の設定”、および、“「bpp_data.R」で作成したファイルの名前の設定”を、それぞれ行います。
2-15. [ファイル]→[保存]と選択して、「bpp_stats_function.R」を保存します。
2-16. [ファイル]→[スクリプトを閉じる]などで、「bpp_stats_function.R」を閉じます。

――以上で、準備は完了です。

■このページの一番上に戻る。

 ■データの収集
■3. 『ベスプレ』でペナントレースを行い、シーズン成績を記録する
3-1. 『ベスプレ』で、ペナントレースを 1 シーズン行います(日本シリーズは、してもしなくても構いませんが、シーズンは必ず最終戦まで行って下さい)。
3-2. [ファイル]→[テキスト保存]→[成績]と選択します。「成績出力」のウインドウが出ますので、[野手成績リストの出力]を選択して、「OK」をクリックします。[保存する場所]は『R』の作業ディレクトリ、[ファイル名]は「b_stats.txt」(初期設定のママ)を設定して、保存します。
3-3. [ファイル]→[テキスト保存]→[成績]と選択します。「成績出力」のウインドウが出ますので、[投手成績リストの出力]を選択して、「OK」をクリックします。[保存する場所]は『R』の作業ディレクトリ、[ファイル名]は「p_stats.txt」(初期設定のママ)を設定して、保存します。

■4. 『R』のデータフレーム形式で、チーム成績を記録する
4-1. 『R』上で、[ファイル]→[Rコードのソースを読み込み...]から、「bpp_stats.R」を選択します。「■オプション名:○○/■試行回数:○○」と表示されたら、チーム成績データの記録は完了です。
□なお、ここで表示される「試行回数」は、あくまで、表示された「オプション名」の条件のもとでの試行回数です。すべての「オプション名」での試行回数の合計を知るには、「bpp_stats_check.R」を実行して下さい。

4-2. 正常にチーム成績データが記録されているかをチェックするために、必要に応じて、『R』上で、[ファイル]→[Rコードのソースを読み込み...]から、「bpp_stats_check.R」を選択して下さい。
□「bpp_stats_check.R」では、重複しているチーム成績データがないか、シーズン途中のチーム成績データが紛れていないか――を、チェックします。
□もしも問題が見つかったら、「bpp_stats_function.R」のスクリプトを用いて、問題のあるシーズン成績データだけを削除することができます。やり方は、後述します。

4-3. 好きなだけ、■3. と ■4. の手順を繰り返します。

■5. 選手データ・監督データなどの条件を変えて、データを収集する
5-1. 『ベスプレ』のチームデータの能力値などの条件を変えます。チームデータの変更のやり方は、『ベスプレ』のヘルプを参照して下さい。
□なお、ここで、チーム名の「記号」(テキストファイル中では「記」と表示されています)は、変えないで下さい!(1 つのチーム成績データファイルには、12 種類の記号(チーム名)しか認識できない仕様になっています。たとえば、「Bu」を「E」に変える場合は、■1. と ■2. の手順を再度行い、別のファイルにチーム成績データを保存するようにして下さい)
5-2. 『R』を起動し、「bpp_stats.R」の設定について、■2.1 から ■2.4 の手順を再度行います。ただし、“データをセーブするファイルの名前の設定”は変更しないで下さい!(異なるファイルにチーム成績データを保存してしまうと、各条件で得られたチーム成績データの比較分析ができなくなります)

5-3. 以上で、設定は完了です。あとは、■3 と ■4 の手順を、好きなだけ繰り返します。

――以上の要領で、さまざまな条件のチームデータ(以下、「オプション条件」と呼ぶコトにします)でシーズンを試行して得られたチーム成績データを、好きなだけ集めるコトが出来ます。
□たとえば、サンプルデータとして同梱した「bpp_stats_sample.txt」には、以下のチーム成績データが、すべて 1 つのファイルに記録されています。
オプション条件オプション名(変数名)試行数
初期設定のママ"ORIGINAL"100 シーズン
D チームの「遊」の「守備力」をすべて S に変更"D_SS.S"100 シーズン
D チームの「遊」の「守備力」をすべて A に変更"D_SS.A"100 シーズン
D チームの「遊」の「守備力」をすべて B に変更"D_SS.B"100 シーズン
D チームの「遊」の「守備力」をすべて C に変更"D_SS.C"100 シーズン
D チームの「遊」の「守備力」をすべて D に変更"D_SS.D"100 シーズン
D チームの「遊」の「守備力」をすべて E に変更"D_SS.E"100 シーズン
D チームの「3」の「守備力」をすべて S に変更"D_3B.S"100 シーズン
D チームの「3」の「守備力」をすべて A に変更"D_3B.A"100 シーズン
D チームの「3」の「守備力」をすべて B に変更"D_3B.B"100 シーズン
D チームの「3」の「守備力」をすべて C に変更"D_3B.C"100 シーズン
D チームの「3」の「守備力」をすべて D に変更"D_3B.D"100 シーズン
D チームの「3」の「守備力」をすべて E に変更"D_3B.E"100 シーズン
合計 1300 シーズン
このように、1 つのファイルに、さまざまなオプション条件で得られたチーム成績データが多数記録されていると、これらのオプション条件のあいだで、チーム成績にどのような違いが生じているのか――といった比較分析が、「bpp_stats_function.R」のスクリプトを用いて、簡単にできます。

■このページの一番上に戻る。

 ■データ分析のための準備
■6. 「bpp_stats.R」で作成したチーム成績データファイルを、使いやすい形に変換する
6-1. 『R』上で、[ファイル]→[Rコードのソースを読み込み...]から、「bpp_data.R」を選択します。「データ変換完了!」と表示されたら、変換完了です。
□「bpp_stats.R」で作成されたチーム成績データファイルは、記録されているチーム成績項目が、『ベスプレ』の「成績出力」で出力される成績項目に準じています。このままでは、チーム成績を比較分析するには少し不便です。そのため、分析しやすいチーム成績項目になるように、「bpp_stats.R」を使って、記録するチーム成績項目を整理します。

■7. データ分析のために使う R オブジェクトを読み込む
7-1. 『R』上で、[ファイル]→[Rコードのソースを読み込み...]から、「bpp_stats_function.R」を選択します。「準備完了!」と表示されたら、分析の準備は完了です。
□初期設定では、「bpp_stats.R」で作成されたチーム成績データは「bpp_stats」という名前のデータフレーム・オブジェクトに、「bpp_data.R」で作成されたチーム成績データは「bpp_data」という名前のデータフレーム・オブジェクトに格納されます。

――以上で、『R』上でデータ分析を行う準備が整いました。あとは、『ベスプレ』のチーム成績データを分析するための特別な R オブジェクト(関数)を駆使して、思う存分、データ分析を行って下さい。
■8. ファイルに記録されているチーム成績項目一覧
8-1. 「bpp_stats.R」で作成されたチーム成績データファイル
■打撃成績
b.name: 名前, b.team: チーム, b.avg: 打率, b.games: 試, b.ab: 打, b.hits: 安, b.2b: 2, b.3b: 3, b.hr: 本, b.rbi: 点, b.sh: 犠, b.bb: 四, b.so: 三, b.sb: 盗, b.errors: 失, b.slg: 長率, b.obp: 出率
■投手成績
p.name: 名前, p.team: チーム, p.era: 防御, p.games: 試, p.cg: 完, p.wins: 勝, p.losses: 敗, p.saves: S, p.sp: SP, p.ip: 回数, p.hits: 安, p.hr: 本, p.bb: 四, p.so: 三, p.er: 自責点, p.wpct: 勝率, p.kper9: 振率
■その他
s.games: シーズン試合数

8-2. 「bpp_data.R」で作成されたチーム成績データファイル
■試合成績
W: 勝利, L: 敗戦, D: 引き分け, WP: 勝率, AVG: 打率, ERA: 防御率
■打撃成績
G: 試合, AB: 打数, H: 安打, HR: 本塁打, RBI: 打点, SB: 盗塁, BB: 四死球, SO: 三振
■投手成績
GP: 登板, IP: 投球回, CG: 完投, S: セーブ, SP: セーブポイント, Ha: 被安打, HRa: 被本塁打, BBa: 与四死球, K: 奪三振, ER: 自責点
■守備成績
E: 失策

■このページの一番上に戻る。

 ■データの分析
■9. 『R』上でデータ分析を行う
9-1. 「bpp_stats_function.R」を読み込むことで、『R』上でデータ分析をするための、さまざまな R オブジェクト(関数)が使用できるようになります。ここでは、主な R オブジェクト(関数)のみを紹介します。詳しくは、「bpp_stats_function.R」のスクリプトコードを参照して下さい。
□初期設定では、「bpp_stats.R」で作成されたチーム成績データは「bpp_stats」という名前のデータフレーム・オブジェクトに、「bpp_data.R」で作成されたチーム成績データは「bpp_data」という名前のデータフレーム・オブジェクトに格納されます。


【データフレーム・オブジェクトの操作に関する R オブジェクト(関数)】

html.table(data.name)
引数 data.name で指定されたデータフレーム・オブジェクトを、HTML の表(table)を作成する命令(タグ)の形で出力します。そのままコピー&ペーストすれば、データフレーム・オブジェクトのデータを、ブラウザ上で HTML の表(table)の形で見ることができます。

option.data(data.name, option.name)
引数 data.name で指定されたデータフレーム・オブジェクトから、引数 option.name で指定されたオプション条件のデータのみを抽出したデータフレーム・オブジェクトを返します。

season.delete(season.num)
「bpp_stats.R」で作成されたチーム成績データのデータフレーム・オブジェクトから、引数 season.num で指定されたシーズンのデータのみを削除したデータフレーム・オブジェクトを返します。「bpp_stats_check.R」でデータの重複などが見つかった場合、この R オブジェクト(関数)を使って修正して下さい。


【各チーム成績項目のデータ分析に関する R オブジェクト(関数)】

bpp_data.mean()
「bpp_data.R」で作成されたチーム成績データのデータフレーム・オブジェクトから、オプション条件ごとに、各チームの各チーム成績項目の平均値(標本平均)をまとめたデータフレーム・オブジェクトを返します。出力内容については、head() 関数や summary() 関数などで確認して下さい。

bpp_data.sd()
「bpp_data.R」で作成されたチーム成績データのデータフレーム・オブジェクトから、オプション条件ごとに、各チームの各チーム成績項目の標準誤差(標本平均の標準誤差)をまとめたデータフレーム・オブジェクトを返します。出力内容については、head() 関数や summary() 関数などで確認して下さい。

bpp_hist(stats.name, team.id, option.name)
「bpp_data.R」で作成されたチーム成績データのデータフレーム・オブジェクトから、引数 stats.name で指定されたチーム成績項目について、引数 team.id で指定されたチームの、引数 option.name で指定されたオプション条件における、ヒストグラムを作成します。ヒストグラムには、標本平均・標準誤差をもとに計算した正規分布のグラフも併記します。
下図は、bpp_hist("ERA", 1, "ORIGINAL") の実行例です。
bpp_hist("ERA", 1, "ORIGINAL") の実行例(6KB)

mean.plot_hist(stats.name, team.id, option.name)
「bpp_data.R」で作成されたチーム成績データのデータフレーム・オブジェクトから、引数 stats.name で指定されたチーム成績項目について、引数 team.id で指定されたチームの、引数 option.name で指定されたオプション条件における、ヒストグラムを作成します。ヒストグラムには、シーズンの試行数(右の縦軸)に対して、標本平均(横軸)がどのように推移したかを示すグラフ(赤い折れ線グラフ)が併記されます。また、{標本平均 ± 1 × 標準誤差} の範囲を示す青い垂直線、および、標本平均・標準誤差をもとに計算した正規分布のグラフも併記します。
下図は、mean.plot_hist("ERA", 1, "ORIGINAL") の実行例です。
mean.plot_hist("ERA", 1, "ORIGINAL") の実行例(8KB)


【オプション条件が異なるチーム成績データの比較分析に関する R オブジェクト(関数)】

dif.mean(option1, option2)
「bpp_data.R」で作成されたチーム成績データのデータフレーム・オブジェクトから、引数 option1 で指定されたオプション条件のデータと、引数 option2 で指定されたオプション条件のデータに対して、各チームの各チーム成績項目の平均値(標本平均)の差をまとめたデータフレーム・オブジェクトを返します。出力内容については、head() 関数や summary() 関数などで確認して下さい。

dif.mean.sd(option1, option2)
「bpp_data.R」で作成されたチーム成績データのデータフレーム・オブジェクトから、引数 option1 で指定されたオプション条件のデータと、引数 option2 で指定されたオプション条件のデータに対して、各チームの各チーム成績項目の平均値(標本平均)の差に対する標準誤差をまとめたデータフレーム・オブジェクトを返します。出力内容については、head() 関数や summary() 関数などで確認して下さい。

bpp_sig(option1, option2, alpha)
「bpp_data.R」で作成されたチーム成績データのデータフレーム・オブジェクトから、引数 option1 で指定されたオプション条件のデータと、引数 option2 で指定されたオプション条件のデータに対して、各チームの各チーム成績項目の平均値(標本平均)の差に、引数 alpha の危険度で有意差がある(TRUE)か、ない(FALSE)かをまとめたデータフレーム・オブジェクトを返します。出力内容については、head() 関数や summary() 関数などで確認して下さい。

mean.plot_hist.2(stats.name, team.id, option.name1, option.name2)
「bpp_data.R」で作成されたチーム成績データのデータフレーム・オブジェクトから、引数 stats.name で指定されたチーム成績項目について、引数 team.id で指定されたチームの、引数 option.name1 で指定されたオプション条件におけるヒストグラムと、引数 option.name2 で指定されたオプション条件におけるヒストグラムを、重ねて表示します。ヒストグラムには、シーズンの試行数(縦軸)に対して、標本平均(横軸)がどのように推移したかを示すグラフ(赤と青の折れ線グラフ)が併記されます。また、標本平均・標準誤差(標本平均の標準誤差)をもとに計算した正規分布のグラフも併記します。
下図は、mean.plot_hist.2("ERA", 1, "D_SS.S", "D_SS.A") の実行例です。
mean.plot_hist.2("ERA", 1, "D_SS.S", "D_SS.A") の実行例(11KB)

――この他にも、いくつかの R オブジェクト(関数)が存在します。詳しくは、「bpp_stats_function.R」のスクリプトコードを参照して下さい。

■このページの一番上に戻る。

■back