LoslegenKostenlos loslegen

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

Kurs anzeigen

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 8 und kleiner oder gleich 22 ist.
  • Fasse die Beobachtungen zunächst nach month und dann nach date zusammen und verwende any() auf der Spalte rainy. Das ergibt einen Wert pro Tag.
  • Fasse anschließend erneut zusammen, indem du any_rain summierst. 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)
  )
Code bearbeiten und ausführen