Teile extrahieren zum Filtern und Zusammenfassen
Ein weiterer Grund, Komponenten zu extrahieren, ist das Filtern von Beobachtungen oder das Erstellen von Zusammenfassungen. Wenn du zum Beispiel nur an Beobachtungen an Werktagen interessiert bist (also nicht am Wochenende), könntest du die Wochentage extrahieren und Wochenenden herausfiltern, z. B. wday(date) %in% 2:6.
In der letzten Übung hast du gesehen, dass Januar, Februar und März tolle Zeiten sind, um Auckland wegen der warmen Temperaturen zu besuchen. Aber brauchst du einen Regenmantel?
In dieser Übung findest du es heraus! Du verwendest die stündlichen Daten, um zu berechnen, an wie vielen Tagen pro Monat es tagsüber irgendeinen Niederschlag gab.
Diese Übung ist Teil des Kurses
Arbeiten mit Datums- und Zeitangaben in R
Anleitung zur Übung
- Erstelle neue Spalten für Stunde und Monat der Beobachtung aus
datetime. Achte darauf, den Monat zu beschriften. - Filtere nur auf Beobachtungen am Tag, bei denen die Stunde größer oder gleich
8und kleiner oder gleich22ist. - Fasse die Beobachtungen zunächst nach
monthund dann nachdatezusammen und verwendeany()auf der Spalterainy. Das ergibt einen Wert pro Tag. - Fasse anschließend erneut zusammen, indem du
any_rainsummierst. Das ergibt einen Wert pro Monat.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Create new columns hour, month and rainy
akl_hourly <- akl_hourly %>%
mutate(
___ = ___(datetime),
___ = ___(datetime, ___),
rainy = weather == "Precipitation"
)
# Filter for hours between 8am and 10pm (inclusive)
akl_day <- akl_hourly %>%
filter(___, ___)
# Summarise for each date if there is any rain
rainy_days <- akl_day %>%
group_by(___, ___) %>%
summarise(
any_rain = ___(rainy)
)
# Summarise for each month, the number of days with rain
rainy_days %>%
summarise(
days_rainy = ___(any_rain)
)