Appendix A — Übung 1: Grundlagen R

Author

Lukas Batschelet

Published

November 25, 2024

B Übung 1: Grundlagen R

B.1 Vektoren

Überlegt euch die erwarteten Lösungen vor dem Eintippen

x <- c(5, 2, 1, 4)
xx <- c(1, 10, 15, 18)
y <- rep(1, 5)
z <- c(TRUE, FALSE, TRUE, TRUE)

B.1.1 Aufgabe a)

sum(x)
range(x)
length(x)
max(x)
sum(x)
[1] 12
range(x)
[1] 1 5
length(x)
[1] 4
max(x)
[1] 5

B.1.2 Aufgabe b)

c(x, y, 13)
c(x, y, 13)
 [1]  5  2  1  4  1  1  1  1  1 13

B.1.3 Aufgabe c)

x[4] * y[2]
xx[2:4] + x[1:3]
x[4] * y[2]
[1] 4
xx[2:4] + x[1:3]
[1] 15 17 19

B.1.4 Aufgabe d)

xx <= 12
xx[xx <= 12]
xx <= 12
[1]  TRUE  TRUE FALSE FALSE
xx[xx <= 12]
[1]  1 10

B.1.5 Aufgabe e)

plot(x, xx)
plot(x[z], xx[z])
plot(x, xx)

plot(x[z], xx[z])

B.2 Zahlenfolgen

Erzeugt mit den rep()und seq() Funktionen die folgenden Zahlenfolgen:

B.2.1 Aufgabe a)

1 2 3 4 5 6 7 8 9
seq(1, 9)
[1] 1 2 3 4 5 6 7 8 9

oder gleichwertig:

1:9
[1] 1 2 3 4 5 6 7 8 9

B.2.2 Aufgabe b)

"m" "w" "m" "w" "m" "w"
rep(c("m", "w"), 3)
[1] "m" "w" "m" "w" "m" "w"

oder gleichwertig:

rep(c("m", "w"), length = 6)
[1] "m" "w" "m" "w" "m" "w"

B.2.3 Aufgabe c)

1 2 3 4 1 2 3 4 1 2 3 4
rep(1:4, 3)
 [1] 1 2 3 4 1 2 3 4 1 2 3 4

B.2.4 Aufgabe d)

1 2 2 3 3 3 4 4 4 4
rep(1:4, 1:4)
 [1] 1 2 2 3 3 3 4 4 4 4

B.3 Datei einlesen

Lest die Datei meteodaten_saison.csv in R ein:

1saison <- read.table("Pfad/zur/Datei.csv",
2                     sep = ",",
                     header = TRUE)
1
Setzt den korrekten Pfad zur Datei ein.
2
Weitere Argumente für den Funktionsaufruf: sep (separator) gibt an welches Trennzeichen in der Datei verwendet wird und header ob die erste Zeile als Spaltennamen verwendet werden soll.

Überprüft, ob der Import korrekt verlief.

Tip

Der Pfad zur Datei kann relativ oder absolut sein. In aller Regel ist es einfacher, Daten in einem Unterordner (z.B. Data) zu speichern und dann nur den Dateinamen anzugeben.

Wichtig ist das korrekte Setzten des Arbeitsverzeichnisses in RStudio:

Session -> Set Working Directory -> To Source File Location

Danach können Dateien relativ zum aktuellen Skriptpfad geladen werden.

Beispiel für einen relativen Pfad:

saison <- read.table("Data/meteodaten_saison.csv",
                     sep = ",",
                     header = TRUE)

Anschliessend könnt ihr die Daten mit str(), head(), summary(), tail(), class(), etc. überprüfen.

str(saison)
'data.frame':   492 obs. of  6 variables:
 $ Jahr                           : int  1901 1901 1901 1901 1902 1902 1902 1902 1903 1903 ...
 $ Saison                         : chr  "Fruehling(MAM)" "Herbst(SON)" "Sommer(JJA)" "Winter(DJF)" ...
 $ Bern_Mitteltemperatur          : num  7.73 7.4 16.8 -2.73 7.53 ...
 $ Bern_Niederschlagssumme        : num  278 245 381 112 323 ...
 $ GrStBernhard_Mitteltemperatur  : num  -4 -0.8 6.3 -10.6 -3.63 ...
 $ GrStBernhard_Niederschlagssumme: num  495 521 285 356 448 ...