213 nasa04
Aufgaben, Statistik, Prognose, Modellierung, R, Datenanalyse, Regression
213.1 Aufgabe
Viele Quellen berichten Klimadaten unserer Erde, z.B. auch National Aeronautics and Space Administration - Goddard Institute for Space Studies.
Von dieser Quelle beziehen wir diesen Datensatz.
Die Datensatz sind auf der Webseite wie folgt beschrieben:
Tables of Global and Hemispheric Monthly Means and Zonal Annual Means
Combined Land-Surface Air and Sea-Surface Water Temperature Anomalies (Land-Ocean Temperature Index, L-OTI)
The following are plain-text files in tabular format of temperature anomalies, i.e. deviations from the corresponding 1951-1980 means.
Global-mean monthly, seasonal, and annual means, 1880-present, updated through most recent month: TXT, CSV
Starten Sie zunächst das R-Paket tidyverse falls noch nicht geschehen.
Zum Animieren verwenden wir diese Pakete:
Importieren Sie dann die Daten:
data_path <- "https://data.giss.nasa.gov/gistemp/tabledata_v4/GLB.Ts+dSST.csv"
d <- read_csv(data_path, skip = 1)Wir lassen die 1. Zeile des Datensatzes aus (Argument skip), da dort Metadaten stehen, also keine Daten, sondern Informationen (Daten) zu den eigentlichen Daten.
Aufgaben
- Visualisieren Sie Temperatur pro Jahr und Dekade.
- BONUSAUFGABE: Animieren Sie Ihre Diagramme mittels
gganimate.
Hinweise:
- Sie müssen zuerst die Dekade als neue Spalte berechnen.
213.2 Lösung
213.2.1 Daten aufbereiten
Dekade berechnen:
Die Temperaturdaten der Monate April bis Dezember sind als Textdaten (character) formatiert. Aber wir brauchen Zahlen zum Rechne. Daher müssen wir noch in Zahlen umwandeln:
Ins lange Format umwandeln:
d3 <-
d2 %>%
pivot_longer(-Year,
values_to = "temp",
names_to = "month")Die Monate sind wie folgt bezeichnet in den Daten:
month_vec <- c("Jan", "Feb", "Mar", "Apr", "May",
"Jun", "Jul", "Aug", "Sep", "Oct",
"Nov", "Dec")months <-
tibble(
month = month_vec,
month_num = 1:12
)Und dann die Monatsnummer (1-12) zu den Daten (d3) hinzufügen. Das geht komfortabel mit einem Join:
213.2.2 Daten zusammenfassen
Statistiken pro Dekade für Januar:
213.2.3 Statisches Diagramm
Zur Veranschaulichung visualisieren wir die Ergebnisse:
d_summarized %>%
pivot_longer(-decade) %>%
ggplot(aes(x = decade, y = value)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
facet_wrap(~ name)Alternativ können Sie zum Visualisieren der Daten z.B. das Paket ggpubr nutzen:
213.2.4 Animiertes Diagramm pro Dekade
Mit Punken:
p1 <-
d_summarized %>%
ggplot(aes(x = decade, y = temp_mean)) +
geom_point(aes(group = seq_along(decade)))
p1 + transition_reveal(decade) Mit Linie:
p2 <- ggplot(d_summarized,
aes(x = decade, temp_mean)) +
geom_line()
p2 + transition_reveal(decade)213.2.5 Animiertes Diagramm pro Jahr
d3 %>%
ggplot(aes(x = Year, y = temp)) +
geom_line() +
transition_reveal(Year)213.2.6 Statisches Diagramm für alle Monate
213.2.7 Animiertes Diagramm für alle Monate
p3 + transition_reveal(Year) 213.2.8 Fazit
Falls Sie Teile der R-Syntax nicht kennen: Machen Sie sich nichts daraus. Be happy 😄
Categories:
- data
- eda
- lagemaße
- vis
- animation
- string

