Używanie merge() i wizualizacja danych w czasie
Masz już dane temperatur obejmujące ten sam okres (2010–2015) i o tej samej częstotliwości (miesięcznej) co dane o lotach – możesz więc przystąpić do scalania.
Aby połączyć obiekty xts kolumnami, użyj funkcji merge(). Gdy dwa obiekty xts mają tę samą periodyczność, merge() zazwyczaj potrafi połączyć dane w odpowiednich wierszach. Nawet gdy obiekty xts różnią się periodycznością, merge() zachowa prawidłową kolejność czasową rekordów z obu obiektów.
W tym ćwiczeniu połączysz dwa obiekty xts kolumnami i wygenerujesz wykresy pokazujące, jak opóźnienia lotów wiążą się z temperaturą. W środowisku pracy dostępne są obiekty temps_monthly i flights_xts.
To ćwiczenie jest częścią kursu
Studium przypadku: analiza danych szeregów czasowych miasta w R
Instrukcje do ćwiczenia
- Użyj funkcji
merge(), aby połączyćflights_xtsitemps_monthly. Ponieważ oba obiekty xts mają tę samą periodyczność, polecenie scalania powinno umieścić dane temperatur w odpowiednich wierszach obiektuflights_xts. Zwróć uwagę, że kolejność podawanych obiektów decyduje o tym, gdzie pojawią się kolumny w scalonym obiekcie. Dla zachowania spójności podaj najpierwflights_xts, a następnietemps_monthly. - Sprawdź pierwsze kilka wierszy scalonego obiektu xts (
flights_temps), aby upewnić się, że scalanie przebiegło poprawnie. Dane temperatur powinny być wyrównane z danymi o lotach. - Użyj funkcji
plot.zoo(), aby wygenerować jeden wykres zawierający zarówno kolumnępct_delay, jak itemps_monthlyz obiektuflights_temps. Pamiętaj, aby podzbiorem wybrać odpowiednie kolumny i ustawić argumentplot.typena"single". Pozostaw argumentltybez zmian.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Use merge to combine your flights and temperature objects
flights_temps <- merge(___, ___)
# Examine the first few rows of your combined xts object
# Use plot.zoo to plot these two columns in a single panel
plot.zoo(___[,c("___", "___")], plot.type = "___", lty = lty)
legend("topright", lty = lty, legend = labels, bg = "white")