Generarea unei medii lunare
Deși comanda to.period() este utilă în multe contexte, pentru scopurile noastre s-ar putea să nu fie cel mai bun mod de a reprezenta o lună întreagă printr-un singur rând.
Are mai mult sens să generezi valori de temperatură medii pe lună. Pentru asta, va trebui să calculezi manual media lunară folosind split() și lapply(), apoi să creezi un nou obiect xts cu as.xts(). Poate părea un proces complicat, dar ai deja toate abilitățile necesare!
Obiectul xts filtrat din exercițiul anterior, temps_xts_2, este preîncărcat în spațiul tău de lucru. De asemenea, este preîncărcat un obiect index care conține un vector de date pentru prima zi a fiecărei luni din date.
Acest exercițiu face parte din cursul
Studiu de caz: Analiza seriilor de timp pentru un oraș în R
Instrucțiuni pentru exercițiu
- Folosește
split()pentru a genera liste lunare din coloanameana obiectului tăutemps_xts_2. Asigură-te că specifici"months"ca perioadă (argumentulf). - Folosește
lapply()pentru a calcula „media mediilor", adică temperatura medie lunară. - Folosește
as.xts()pentru a genera un nou obiect xts care conține temperatura medie lunară în Boston în perioada 2010–2015. Pentru asta, va trebui să combini datele tale lunaremean_of_meanscu obiectulindexlunar. - În final, confirmă că noul tău obiect
temps_monthlyare aceeași durată și periodicitate cuflights_xts.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(___)