DataLab.で提供されているデータでは、同じ競馬場であれば時期にかかわらず同じコード値が使われています。
しかし、大規模な馬場改修が行なわれた場合、改修の前と後では「同じ競馬場」と見なすのは不適切かもしれません。
そこでまず、競馬場の改修の歴史を調べてみます。
JRAに関する歴史の概要については、JRA公式サイト内にある以下のページが参考になります。
≪JRAのあゆみ≫
http://www.jra.go.jp/aramasi/ayumi/ayumi.html
ここには競馬場に関係する記述もあるのですが、不思議なことに、昭和63年12月に中山競馬場がリニューアルオープンしたことは書かれていません。
競馬場に関する記述を抜き出して年表にすると、次のようになります。
| 年 | 出来事 |
|---|---|
| 昭和29年 | 中央競馬第1回の競馬を東京および京都両競馬場で開催。 |
| 昭和31年 | 10月 中山競馬場大スタンド改築工事竣工。 |
| 昭和33年 | 7月 福島競馬場スタンド改築工事竣工。 |
| 昭和34年 | 10月 阪神競馬場スタンド改築工事竣工。 |
| 昭和36年 | 2月 初のダートコースが東京競馬場に登場。 |
| 昭和39年 | 9月 中山競馬場スタンド馬場改修工事竣工。 |
| 昭和40年 | 5月 新潟新競馬場完成。 9月 京都競馬場スタンド馬場改築工事竣工。 |
| 昭和41年 | 9月 中山競馬場ダートコース新設。 |
| 昭和43年 | 6月 東京競馬場スタンド竣工。 |
| 昭和44年 | 9月 福島競馬場スタンド改築工事竣工。 12月 小倉競馬場スタンド改築工事竣工。 |
| 昭和45年 | 8月 函館競馬場新スタンド竣工。 10月 中京競馬場新スタンド竣工。 |
| 昭和46年 | 5月 東京競馬場スタンド増築工事竣工。 8月 札幌競馬場新スタンド竣工。京都競馬場のダートコースを新設。 |
| 昭和48年 | 10月 新潟競馬場新スタンド竣工。 |
| 昭和49年 | 8月 阪神競馬場にダートコース新設。 |
| 昭和50年 | 6月 札幌競馬場のコース右回りに変更。 |
| 昭和55年 | 5月 福島競馬場にダートコース完成。 6月 函館競馬場にダートコース完成。 10月 京都競馬場スタンド改築工事竣工。 |
| 昭和56年 | 4月 新潟競馬場ダートコース使用開始。 |
| 昭和60年 | 11月 中山競馬場に新スタンド「クリスタルコーナー」増築。 |
| 昭和62年 | 1月 小倉競馬場でダートコースの使用を開始。 |
| 昭和63年 | 7月 新潟競馬場アイビススタンド竣工。 12月 中山競馬場がリニューアルオープン。 |
| 平成2年 | 6月 札幌競馬場に新設された芝コース使用開始。 11月 中山競馬場新スタンド竣工。 |
| 平成3年 | 11月 阪神競馬場新スタンド、馬場改造工事完成。 |
| 平成5年 | 9月 東京競馬場に新スタンド「メモリアル60」竣工。 11月 中京競馬場の馬場改修工事が終了。 |
| 平成6年 | 8月 函館競馬場の馬場改造工事完成。 10月 京都競馬場新スタンド、馬場改造工事完成。 11月 中京競馬場でスタンド増築工事完成。 |
| 平成7年 | 1月 阪神・淡路大震災、阪神競馬場は立体駐車場、歩道橋が崩壊するなど大きな被害を受ける。 8月 福島競馬場スタンド増築工事竣工。 12月 阪神・淡路大震災で休止していた阪神競馬場が第1回阪神競馬を開催。 |
| 平成9年 | 6月 福島競馬場がリニューアルオープン。 |
| 平成11年 | 7月 小倉競馬場で馬場改造とスタンド改築の全面改築工事竣工。 9月 京都競馬場スタンド増築工事が竣工。 |
| 平成13年 | 7月 新潟競馬場新スタンド(NiLS21)完成、周回コースは左回りとなり直線芝1000mコースを新設。 |
| 平成15年 | 4月 馬場改造および第1期スタンド改築工事が竣工した東京競馬場がリニューアルオープン。 |
この表をもう少し分かりやすいように、競馬場別の年表にしてみました。

競馬の統計を考える上で重要だと思われる出来事に明るい色を塗っています。
抜き出すと、次の表のようになります。
| 年 | 出来事 | |
|---|---|---|
| (1) | 昭和39年(1964) | 9月 中山。スタンド馬場改修工事竣工 |
| (2) | 昭和40年(1965) | 9月 京都。スタンド馬場改修工事竣工 |
| (3) | 昭和50年(1975) | 6月 札幌。コース右回りに変更 |
| (4) | 昭和63年(1988) | 12月 中山。リニューアルオープン |
| (5) | 平成3年(1991) | 11月 阪神。新スタンド、馬場改造工事完成 |
| (6) | 平成5年(1993) | 11月 中京。馬場改修工事が終了 |
| (7) | 平成6年(1994) | 10月 京都。新スタンド、馬場改造工事完成 |
| (8) | 平成7年(1995) | 12月 阪神。阪神・淡路大震災の休止から復帰 |
| (9) | 平成9年(1997) | 6月 福島。リニューアルオープン |
| (10) | 平成11年(1999) | 7月 小倉。馬場改造とスタンド改築の全面改築工事竣工 |
| (11) | 平成13年(2001) | 7月 新潟。新スタンド完成、周回コースは左回りとなり直線芝1000mを新設 |
| (12) | 平成15年(2003) | 4月 東京。馬場改造および第1期スタンド改築工事が竣工しリニューアルオープン |
競馬場の重要な改修情報は、全部で12件あるようです。
問題は、阪神・淡路大震災で休止した平成7年の阪神競馬場です。「立体駐車場、歩道橋が崩壊」ということですが、馬場に関してどのような影響があったか分かりませんでした。とりあえずリストに含めてありますが、データを分析する上ではあまり関係しない気もします。
以上のことから、馬場改修を考慮した競馬場の分類は、以下の19種類になることが分かります。
「競馬場コード」と「レースの行なわれた日付」から、「馬場改修を考慮した競馬場コード」(拡張競馬場コード)を出力するkeibajyo_codeexメソッドを、Rubyスクリプト「DataLab_KeibajyoCodeEx.rb」に定義しています。
拡張競馬場コードは、「競馬場コード」+「期間コード」の形式になっており、期間コードは、(1)「00」全期間、(2)「01」期間1、(2)「02」期間2、(3)「03」期間3……のようになります。
#馬場改修を考慮した競馬場コードを出力するコード
# '0000' : (分類不能)
# '0100' : 札幌
# '0200' : 函館
# '0301' : 福島(1997年6月より前)
# '0302' : 福島(1997年6月以降)
# '0401' : 新潟(2001年7月より前)
# '0402' : 新潟(2001年7月以降)
# '0501' : 東京(2003年4月より前)
# '0502' : 東京(2003年4月以降)
# '0601' : 中山(1988年12月より前)
# '0602' : 中山(1988年12月以降)
# '0701' : 中京(1993年11月より前)
# '0702' : 中京(1993年11月以降)
# '0801' : 京都(1994年10月より前)
# '0802' : 京都(1994年10月以降)
# '0901' : 阪神(1991年11月より前)
# '0902' : 阪神(1991年11月〜1995年12月より前)
# '0903' : 阪神(1995年12月以降)
# '1001' : 小倉(1999年7月より前)
# '1002' : 小倉(1999年7月以降)
def keibajyo_codeex(keibajyo_code, race_date)
#keibajyo_code 競馬場コード
#race_date レースの日付 'YYYYMMDD'
race_date_int = race_date.to_i
case keibajyo_code
when '01'
return '0100' #札幌
when '02'
return '0200' #函館
when '03'
if race_date_int < 19970601
return '0301' #福島(1997年6月より前)
else
return '0302' #福島(1997年6月以降)
end
when '04'
if race_date_int < 20010701
return '0401' #新潟(2001年7月より前)
else
return '0402' #新潟(2001年7月以降)
end
when '05'
if race_date_int < 20030401
return '0501' #東京(2003年4月より前)
else
return '0502' #東京(2003年4月以降)
end
when '06'
if race_date_int < 19881201
return '0601' #中山(1988年12月より前)
else
return '0602' #中山(1988年12月以降)
end
when '07'
if race_date_int < 19931101
return '0701' #中京(1993年11月より前)
else
return '0702' #中京(1993年11月以降)
end
when '08'
if race_date_int < 19941010
return '0801' #京都(1994年10月より前)
else
return '0802' #京都(1994年10月以降)
end
when '09'
if race_date_int < 19911101
return '0901' #阪神(1991年11月より前)
elsif race_date_int < 19951201
return '0902' #阪神(1991年11月〜1995年12月より前)
else
return '0903' #阪神(1995年12月以降)
end
when '10'
if race_date_int < 19990701
return '1001' #小倉(1999年7月より前)
else
return '1002' #小倉(1999年7月以降)
end
else
return '0000' #(分類不能)
end
end

(C) 2006 NARITA, Takuro
E-Mail:narita@a1.mbn.or.jp