Generare una media mensile
Anche se il comando to.period() è utile in molti contesti, per i tuoi scopi potrebbe non essere utile selezionare una singola riga come rappresentativa dell’intero mese.
Invece, ha più senso generare valori di temperatura medi per mese. Per farlo, dovrai calcolare manualmente la media mensile usando split() e lapply(), quindi creare un nuovo oggetto xts usando as.xts(). Può sembrare un processo complicato, ma hai già le competenze per farlo!
L’oggetto xts filtrato dall’esercizio precedente, temps_xts_2, è già caricato nel tuo workspace. È pre-caricato anche un oggetto index che contiene un vettore di date per il primo giorno di ogni mese coperto dai dati.
Questo esercizio fa parte del corso
Caso di studio: analisi di serie temporali cittadine in R
Istruzioni dell'esercizio
- Usa
split()per generare liste mensili dalla colonnameandel tuo oggettotemps_xts_2. Assicurati di specificare"months"come periodo (l’argomentof). - Usa
lapply()per calcolare la "media delle medie", cioè la temperatura media mensile. - Usa
as.xts()per generare un nuovo oggetto xts contenente la temperatura mensile media a Boston dal 2010 al 2015. Per farlo, dovrai combinare i tuoi dati mensilimean_of_meanscon il tuo oggetto mensileindex. - Infine, conferma che il nuovo oggetto
temps_monthlycondivida durata e periodicità conflights_xts.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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(___)