开始使用免费开始使用

计算收盘平均值

在探索了红袜队数据中的一些趋势后,您希望产出一些有用的指标。本练习中,您将计算球队在每个赛季末的胜负平均值。从金融领域的类比来看,这就像是在赛季"收盘"时的球队价值。

要计算赛季收盘的胜负平均值,您需要组合使用前几章介绍的一些命令。

首先,基于每场比赛的比分来标记胜场。您可以使用简单的 ifelse() 命令:当红袜队得分高于对手时记为胜。

其次,使用 endpoints() 找到每个赛季最后一场比赛的日期。该命令会在指定周期内识别对象中的最后日期。

最后,要计算每个赛季的收盘胜负平均值,只需对数据的 win_loss 列使用 period.apply(),将 close 日期作为索引,并将 mean 作为函数即可。

redsox_xts 对象已在您的工作区中可用。

本练习是课程的一部分

案例研究:在 R 中分析城市时间序列数据

查看课程

练习说明

  • 使用 ifelse 计算 win_loss:当 boston_score 大于 opponent_score 时记为 1,否则为 0
  • 使用 endpoints() 识别每个赛季最后一场比赛的日期。由于棒球赛季包含在单一年份内,您可以将 on 参数设为 "years",以获得每年的最后一场比赛。将这些日期保存为 close
  • 使用 period.apply() 计算赛季收盘时的胜负平均值。指定 redsox_xts 数据中的 win_loss 列,以 close 日期作为周期,并以 mean 作为函数。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Generate a new variable coding for red sox wins
redsox_xts$win_loss <- ifelse(redsox_xts$___ > redsox_xts$___, 1, 0)

# Identify the date of the last game each season
close <- endpoints(___, on = "___")

# Calculate average win/loss record at the end of each season
period.apply(redsox_xts[, "___"], ___, ___)
编辑并运行代码