4

Umweltsystemmodellierung (Fach) / Termin 1 Tutoratsaufgaben (Lektion)

Termin 1 Tutoratsaufgaben

Diese Lektion wurde von Ak123 erstellt.

Lektion lernen

  • 1. Erzeugen Sie in R mit möglichst wenig Aufwand die folgende Matrix: 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 matrix(rep(1:5, 5), nrow=5, ncol=5)
  • 2. Erzeugen Sie einen Vektor mit den Zahlen von 0 bis 10 in Schritten von 0.5. a) Wie viele Elemente hat dieser Vektor? b) Wie viele seiner Elemente sind ohne Rest durch 2.5 teilbar? Welche Zahlen sind das? (Hinweis: Benutzen Sie den Modulo-Operator %%, dieser gibt den Rest einer Teilung aus; Beispiel: 7 %% 3 ergibt 1, weil 7 : 3 = 2 Rest 1) Erzeugen Sie einen Vektor mit den Zahlen von 0 bis 10 in Schritten von 0.5. vec1 <- seq(from=0, to=10, by=0.5) a) Wie viele Elemente hat dieser Vektor? length(vec1) b) Wie viele seiner Elemente sind ohne Rest durch 2.5 teilbar? Welche Zahlen sind das? length(which((vec1 %% 2.5)==0)) vec1[which((vec1 %% 2.5)==0)]
  • 3. Erzeugen Sie mit dem Befehl rnorm(n=100, mean=10, sd=5) einen Vektor mit Zufallszahlen aus einer Normalverteilung. a) Wie viele Zahlen sind größer als der Mittelwert? b) Wie viele Zahlen sind größer als Mittelwert + Standardabweichung oder kleiner als Mittelwert - Standardabweichung? (Anmerkung: Da es sich um Zufallszahlen handelt, werden Sie natürlich andere Werte erhalten als Ihre KommilitonInnen. Entscheidend ist der Lösungsweg.) (Hinweis: die Funktionen mean() und sd() berechnen Mittelwert bzw. Standardabweichung) # Erzeugen Sie mit dem Befehl rnorm(n=100, mean=10, sd=5) einen Vektor mit Zufallszahlen aus einer Normalverteilung.vec2 <- rnorm(n=100, mean=10, sd=5) # Wie viele Zahlen sind größer als der Mittelwert?length(which(vec2>mean(vec2))) # Wie viele Zahlen sind größer als Mittelwert+Standardabweichung oder kleiner als Mittelwert-Standardabweichung?length(which(vec2>(mean(vec2)+sd(vec2)) | vec2<(mean(vec2)-sd(vec2))))
  • 4. Der Befehl letters gibt das Alphabet in Kleinbuchstaben aus. Benutzen Sie diesen Befehl, um einen Vektor mit den Buchstaben a bis j zu erzeugen. Erzeugen Sie einen weiteren gleichlangen Vektor mit ganzen Zahlen beginnend bei 1. a) Lassen Sie sich den Datentyp jedes Vektors anzeigen. b) Produzieren Sie aus den beiden Vektoren einen Data Frame mit den Vektoren als Spalten. c) Wandeln Sie den Data Frame in eine Matrix um. Welchen Datentyp hat nun die zweite Spalte der Matrix? d) Erzeugen Sie eine Liste mit den beiden ursprünglichen Vektoren als Elemente. Lassen Sie sich das dritte Element des zweiten Vektors in der Liste anzeigen. vecA <- letters[1:10] vecA <- letters[1:10]vecB <- 1:10 # Lassen Sie sich den Datentyp jedes Vektors anzeigen.mode(vecA)mode(vecB) # Produzieren Sie aus den beiden Vektoren einen Data Frame mit den Vektoren als Spalten.alldata <- data.frame(buchstaben=vecA, zahlen=vecB) # Wandeln Sie den Data Frame in eine Matrix um.datamatrix <- as.matrix(alldata) # Welchen Datentyp hat nun die zweite Spalte der Matrix?mode(datamatrix[, 2]) # Erzeugen Sie eine Liste mit den beiden ursprünglichen Vektoren als Elemente.datalist <- list(vecA, vecB) # Lassen Sie sich das dritte Element des zweiten Vektors in der Liste anzeigen.datalist[[2]][3]
Anzeige