1. Učit se
  2. /
  3. Projekty
  4. /
  5. Případová studie: Analýza časových řad městských dat v R

Connected

cvičení

Výpočet a vizualizace sezónního průměru

V předchozím cvičení jsi pomocí endpoints() a period.apply() rychle vypočítal/a průměr výher a proher Boston Red Sox na konci každé sezóny. Co kdybys ale potřeboval/a znát kumulativní průměr v průběhu každé sezóny? Statistici i fanoušci sportu se na tento průměr často spoléhají, když porovnávají výkon týmu s jeho rivaly.

Pro výpočet kumulativního průměru v každé sezóně se vrátíme ke vzoru split-lapply-rbind, který jsme procvičovali ve třetí kapitole. Nejprve rozdělíš data podle sezóny, pak na sloupec win_loss v každé sezóně aplikuješ funkci kumulativního průměru a nakonec hodnoty spojíš zpět do objektu xts.

Vlastní funkce cummean(), která vypočítá kumulativní součet a vydělí ho počtem zahrnutých hodnot, je už připravená. Data redsox_xts včetně sloupce win_loss máš k dispozici ve svém prostředí.

Pokyny

100 XP
  • Pomocí split() rozděl data redsox_xts podle sezón (v tomto případě podle years). Výsledek ulož do redsox_seasons.
  • Pomocí lapply() vypočítej kumulativní průměr pro každou sezónu. Pro toto cvičení je připravená funkce cummean(), která vypočítá součet (pomocí cumsum()) a vydělí ho počtem prvků v součtu (pomocí seq_along()). Data ulož do redsox_ytd.
  • Pomocí do.call() s argumentem rbind převeď výstup ve formě listu na jeden objekt xts (redsox_winloss), který obsahuje průměr výher a proher v průběhu každé sezóny.
  • Pomocí plot.xts() zobraz kumulativní průměr výher a proher během sezóny 2013. Argument ylim ponech tak, jak je ve předvyplněném kódu.