Generera ett månadsgenomsnitt
Kommandot to.period() är användbart i många sammanhang, men för våra ändamål är det inte alltid meningsfullt att välja en enstaka rad som representant för hela månaden.
Ett bättre alternativ är att beräkna genomsnittliga temperaturvärden per månad. För att göra det behöver du beräkna månadsgenomsnittet manuellt med hjälp av split() och lapply(), och sedan skapa ett nytt xts-objekt med as.xts(). Det kan verka som ett komplicerat förfarande, men du har redan de färdigheter som krävs!
Xts-objektet temps_xts_2 från föregående övning finns redan inläst i din arbetsmiljö. Det finns också ett index-objekt med en vektor av datum för den första dagen i varje månad som täcks av data.
Den här övningen är en del av kursen
Fallstudie: Analys av tidsseridata för städer i R
Övningsinstruktioner
- Använd
split()för att dela uppmean-kolumnen i ditttemps_xts_2-objekt i månadsvis listor. Se till att ange"months"som period (argumentetf). - Använd
lapply()för att beräkna "medelvärdet av medelvärden", det vill säga det genomsnittliga medeltemperaturvärdet per månad. - Använd
as.xts()för att skapa ett nytt xts-objekt med den genomsnittliga månadsvis temperaturen i Boston från 2010 till 2015. För att göra det behöver du kombinera dina månadsvismean_of_means-data med ditt månadsvisindex-objekt. - Kontrollera slutligen att ditt nya
temps_monthly-objekt har samma varaktighet och periodicitet somflights_xts.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(___)