1. 学ぶ
  2. /
  3. プロジェクト
  4. /
  5. ケーススタディ:Rで都市の時系列データを分析する

Connected

演習

終値の平均を計算する

Red Sox データの傾向を確認できたので、役立つ指標を作成していきます。この演習では、各シーズンの終了時点での勝率(勝ち/負けの平均)を計算します。ファイナンスの用語でいえば、シーズンの「終値」に相当する値と考えられます。

終値の勝率を計算するには、前の章で使ったいくつかのコマンドを組み合わせます。

まず、各試合のスコアに基づいて勝利を判定します。これは、シンプルな ifelse() コマンドを使い、Red Sox が相手チームより多く得点した試合を勝ちとみなすことで実現できます。

次に、各シーズンの最後の試合日を endpoints() で特定します。このコマンドは、指定した期間内でオブジェクトの最後の日付を抽出します。

最後に、各シーズンの終値の勝率を計算するには、データの win_loss 列に対して period.apply() を使い、インデックスとして close 日付、関数として mean を指定します。

redsox_xts オブジェクトはワークスペースに用意されています。

指示

100 XP
  • ifelse を使って win_loss を計算します。boston_score が opponent_score より大きい場合は 1、それ以外は 0 とします。
  • endpoints() を使って、各シーズンの最後の試合日を特定します。野球のシーズンは1年内に収まるため、on 引数に "years" を指定して各年の最終試合日を取得します。これらの日付を close として保存します。
  • period.apply() を使って、シーズン終値時点の勝率を計算します。redsox_xts データの win_loss 列を指定し、期間として close 日付、関数として mean を指定します。