Zacznij terazZacznij za darmo

Generowanie miesięcznej średniej

Polecenie to.period() sprawdza się w wielu sytuacjach, ale w tym przypadku wybranie jednego wiersza jako reprezentatywnego dla całego miesiąca może nie mieć sensu.

Lepszym rozwiązaniem jest obliczenie średniej temperatury dla każdego miesiąca. Aby to zrobić, musisz ręcznie wyliczyć miesięczną średnią za pomocą split() i lapply(), a następnie utworzyć nowy obiekt xts przy użyciu as.xts(). Brzmi skomplikowanie, ale masz już wszystkie potrzebne umiejętności!

Obiekt xts z poprzedniego ćwiczenia, temps_xts_2, jest wstępnie załadowany w twoim obszarze roboczym. Dostępny jest też obiekt index zawierający wektor dat odpowiadających pierwszemu dniu każdego miesiąca w zbiorze danych.

To ćwiczenie jest częścią kursu

Studium przypadku: analiza danych szeregów czasowych miasta w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj split(), aby podzielić kolumnę mean obiektu temps_xts_2 na miesięczne listy. Pamiętaj, aby jako okres (argument f) podać "months".
  • Użyj lapply(), aby obliczyć „średnią ze średnich", czyli przeciętną temperaturę dla każdego miesiąca.
  • Użyj as.xts(), aby utworzyć nowy obiekt xts zawierający miesięczne średnie temperatury w Bostonie w latach 2010–2015. W tym celu połącz dane mean_of_means z obiektem index zawierającym daty miesięczne.
  • Na koniec sprawdź, czy nowy obiekt temps_monthly ma takie same przedziały czasowe i częstotliwość próbkowania co flights_xts.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Split temps_xts_2 into separate lists per month
monthly_split <- split(___$___ , f = "___")

# Use lapply to generate the monthly mean of mean temperatures
mean_of_means <- lapply(___, FUN = ___)

# Use as.xts to generate an xts object of average monthly temperature data
temps_monthly <- as.xts(as.numeric(___), order.by = ___)
 
# Compare the periodicity and duration of your new temps_monthly and flights_xts 
periodicity(___)
periodicity(___)
Edytuj i uruchom kod