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
Instrukcje do ćwiczenia
- Użyj
split(), aby podzielić kolumnęmeanobiektutemps_xts_2na miesięczne listy. Pamiętaj, aby jako okres (argumentf) 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 danemean_of_meansz obiektemindexzawierającym daty miesięczne. - Na koniec sprawdź, czy nowy obiekt
temps_monthlyma takie same przedziały czasowe i częstotliwość próbkowania coflights_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(___)