BaşlayınÜcretsiz Başlayın

Mevsimsel bir ortalama hesapla ve görselleştir

Önceki egzersizde sezon sonunda Boston Red Sox için galibiyet/mağlubiyet ortalamasını hızlıca hesaplamak üzere endpoints() ve period.apply() kullandın. Peki ya her bir sezon boyunca kümülatif ortalamayı bilmen gerekse? İstatistikçiler ve spor tutkunları, bir takımı rakipleriyle karşılaştırmak için sıkça bu ortalamaya başvurur.

Her sezon için kümülatif ortalama hesaplamak üzere, Üçüncü Bölümde çalıştığın split-lapply-rbind formülüne geri döneceksin. Önce veriyi sezona göre böleceksin, sonra her sezonda win_loss sütununa kümülatif ortalama fonksiyonu uygulayacaksın, ardından değerleri tekrar bir xts nesnesinde birleştireceksin.

Toplamın kümülatifini üretip toplamda yer alan değer sayısına bölen özel bir cummean() fonksiyonu senin için hazırlandı. win_loss sütunu da dahil olmak üzere redsox_xts verisi çalışma alanında mevcut.

Bu egzersiz

Vaka Çalışması: R ile Şehir Zaman Serisi Verilerini Analiz Etme

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • redsox_xts verisini sezonlara (bu örnekte years) ayırmak için split() kullan. Bunu redsox_seasons olarak ata.
  • Her sezon için kümülatif ortalamayı hesaplamak üzere lapply() kullan. Bu egzersizde, toplamı (cumsum()) hesaplayıp toplam içindeki giriş sayısına (seq_along()) bölen bir cummean() fonksiyonu tasarlandı. Bu veriyi redsox_ytd olarak kaydet.
  • Liste çıktını tek bir xts nesnesine dönüştürmek için do.call() ile rbind kullan; bu nesne (redsox_winloss) her sezon boyunca galibiyet/mağlubiyet ortalamasını içermelidir.
  • 2013 sezonu sırasında kümülatif galibiyet/mağlubiyet ortalamasını görmek için plot.xts() kullan. Hazır kodunda ylim argümanını olduğu gibi bırak.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Split redsox_xts win_loss data into years 
redsox_seasons <- split(___$___, f = "___")

# Use lapply to calculate the cumulative mean for each season
redsox_ytd <- lapply(___, cummean)

# Use do.call to rbind the results
redsox_winloss <- do.call(___, ___)

# Plot the win_loss average for the 2013 season
plot.xts(___["___"], ylim = c(0, 1))
Kodu Düzenle ve Çalıştır