# //////////////////////////////////////////////////////////// # # Code des RLab-Kurses "Einfuehrung in Datenhandling und # Visualisieren von Klimadaten" # # !!! In dieser Datei ist "purer" Code mit sehr wenigen # Erklärungen enthalten. Im RLab-Kurs werden die # Funktionen ausführlich und interaktiv erklärt und # ausprobiert. Der in dieser Datei enthaltene "pure" Code # ist zum Lernen kaum geeignet. Er ermöglicht aber die # Verwendung der Kurs-Inhalte als Vorlage zur Anpassung an # eigene Daten und Fragestellungen. # # //////////////////////////////////////////////////////////// # # Lesson: "L1 Datentypen und ihre Transformation, Zuweisen von # Variablen" # # # In dieser Lesson werden Funktionen zum Erstellen von # Vektoren, Matrizen und Dataframes sowie zum Umwandeln dieser # in andere Datenformate vorgestellt. # # v <- c(1,2,3) # Erstellen und Zuweisen eines Vektors v <- as.integer(1,2,3) # Festlegen des Datenformats auf # integer v <- rnorm(120) # Erstellen eines Vektors mit 120 zufälligen # normalverteilten Werten vm <- matrix(v, 10, 12) # Erstellen einer Matrix aus den # Werten von v mit 10 Zeilen und 12 # Spalten View(vm) # Anschauend er Matrix in separatem Fenster vmv <- as.vector(vm) # Umwandeln der Matrix in einen Vektor v == vmv # Vergleichen der beiden vektoren vmd <- data.frame(vm) # Umwandeln der Matrix in einen Data- # frame # # # //////////////////////////////////////////////////////////// # # Lesson: "L2 Erstellung eines Zeitreihen-Objekts (Time- # Series-Objekt)" # # # In dieser Lesson werden Funktionen zum Umwandeln eines Data- # frames in ein Zeitreihen-Objekt vorgestellt. # # Im RLab-Kurs werden die Daten automatisch geladen. Hier, im # "echten Leben", werden sie mit der Funktion read.table() # geladen. Dabei ist es erforderlich, den Code an den # Laufwerkspfad, in dem die Daten liegen, anzupassen. # CETm <- read.table("Laufwerk/Ordner/CET-mon-ts.dat", header = TRUE) # "Laufwerk/Ordner/Datei" durch Pfadangabe zum aktuellen # Workspace ersetzen. Weitere Hinweise zum Einlesen von # Dateien finden sich im Digitalen Skript "Import und Export # von Daten". # str(CETm) # Anschauen der Struktur des Datensatzes summary(CETm) # Überblick über den Datensatz verschaffen View(CETm) # Anschauen des Datensatzes in separatem Fenster CETm_t <- t(CETm) # Transponieren des Datensatzes (Vertauschen # von Zeilen und Spalten) CETv <- as.vector(t(CETm[2:13])) # Umwandeln des Datensatzes in einen Vektor, dabei Ver- # knüpfung mit der t()-Funktion CET_ts <- ts(CETv, # Erstellen einer time-series frequency = 12, # Wiederholungsfrequenz 12 Monate start = c(1659, 1)) # Startjahr und -monat # # # //////////////////////////////////////////////////////////// # # Lesson: "L3 Visualisieren von Zeitreihen" # # # In dieser Lesson werden Funktionen zum Plotten eines time- # series-Objekts vorgestellt. # # Für die folgenden Funktionen wird die Zeitreihe CET_ts # benötigt, die mit den Funktionen aus der zweiten Lesson # erstellt wurde. # plot(CET_ts) # Automatisches Plotten der Zeitreihe CET_1990 <- window(CET_ts, # Verkürzen der Zeitreihe start = c(1990,1), # von Startjahr, -monat end = c(1999,12)) # bis Endjahr, -monat plot(CET_1990) # Automatisches Plotten der kürzeren Zeitreihe monthplot(CET_1990) # Monatsübersicht der Zeitreihe # # # //////////////////////////////////////////////////////////// # # Lesson: "L4 Visualisieren von Zeitreihen-Komponenten" # # # In dieser Lesson werden Funktionen zum Aufteilen einer Zeit- # reihe in ihre einzelnen Komponenten und zum Vergleichen # mehrerer Zeitreihen vorgestellt. # # Füe die folgenden Funktionen wird die Zeitreihe CET_1990 # benötigt, die mit den Funktionen aus der zweiten und dritten # Lesson erstellt wurde. # Außerdem wird die zusätzliche Zeitreihe Nepal_ts benötigt: Nepal_ts <- ts(read.table("Laufwerk/Ordner/Temp.Nepal.csv", header = TRUE, sep = ';', dec = '.', stringsAsFactors = TRUE), start = c(2015,1), frequency = 12) # "Laufwerk/Ordner/Datei" durch Pfadangabe zum aktuellen # Workspace ersetzen. # # fit <- stl(CET_1990, # Zerlegen der Zeitreihe in Komponenten s.window = "periodic") plot(fit) # Plotten der Komponenten plot(Nepal_ts[,2:6]) # Plotten der Nepal-Zeitreihe plot(Nepal_ts[,2:6], # Plotten der Nepal-Zeitreihe plot.type = "single", # Plotten der Spalten in einem # einzelnen Plot col = 5:1, # Verändern der Linienfarben lty = 1:5) # Verändern der Linientypen legend("bottomright", # Erstellen einer Legende -> Position c("Beding_gompa", # Vektor, der die Namen der in der "Na", # Legende enthaltenen Strukturen "T2_oben", # angibt "T2_unten", "Yalun"), lty = 1:5, # Linientypen innerhalb der Legende col = 5:1) # Linienfarben innerhalb der Legende # # # ////////////////////////////////////////////////////////////