library(tidyverse)
nasa07
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.
Importieren Sie dann die Daten:
<- "https://data.giss.nasa.gov/gistemp/tabledata_v4/GLB.Ts+dSST.csv"
data_path <- read_csv(data_path, skip = 1) d
Wir lassen die 1. Zeile des Datensatzes aus (Argument skip
), da dort Metadaten stehen, also keine Daten, sondern Informationen (Daten) zu den eigentlichen Daten.
Aufgabe
Berechnen Sie die folgende Statistiken pro Dekade:
Mittelwert der Temperatur im Januar
SD der Temperatur im Januar
Hinweise:
- Sie müssen zuerst die Dekade als neue Spalte berechnen.
Lösung
Dekade (Jahrzehnt) berechnen:
<-
d %>%
d mutate(decade = round(Year/10))
Das ist ein möglicher Weg, um aus einer Jahreszahl die Dekade zu berechnen.
Statistiken pro Dekade:
<-
d_summarized %>%
d group_by(decade) %>%
summarise(temp_mean = mean(Jan),
temp_sd = sd(Jan))
d_summarized
decade | temp_mean | temp_sd |
---|---|---|
188 | −0.20 | 0.24 |
189 | −0.44 | 0.22 |
190 | −0.27 | 0.16 |
191 | −0.40 | 0.22 |
192 | −0.28 | 0.15 |
193 | −0.13 | 0.22 |
194 | 0.02 | 0.21 |
195 | −0.05 | 0.18 |
196 | 0.03 | 0.15 |
197 | −0.07 | 0.17 |
198 | 0.21 | 0.19 |
199 | 0.35 | 0.13 |
200 | 0.51 | 0.19 |
201 | 0.64 | 0.21 |
202 | 0.98 | 0.16 |
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 DataExplorer
oder das Paket ggpubr
nutzen:
library(DataExplorer)
|>
d_summarized select(decade, temp_mean) |>
plot_scatterplot(by = "temp_mean")
|>
d_summarized select(decade, temp_sd) |>
plot_scatterplot(by = "temp_sd")
library(ggpubr)
ggscatter(d_summarized, x = "decade", y = "temp_mean", add = "reg.line")
ggscatter(d_summarized, x = "decade", y = "temp_sd", add = "reg.line")
Falls Sie Teile der R-Syntax nicht kennen: Machen Sie sich nichts daraus. 😄
Categories:
- data
- eda
- lagemaße
- variability
- string