1 / 25

Grundlagen der R Programmiersprache

Grundlagen der R Programmiersprache. Modul G WS 07/08. Besteht aus einem oder mehrerern Elementen. x = 3 meinedatei = c(10, 20, -4) foo = c("IPDS", "Phonetik", “Leibnizstr. 10", 2007, "WS"). Besteht aus TRUE und FALSE. Objekte. Vektor. Matrix. Eine Zusammensetzung aus Vektoren

kasie
Download Presentation

Grundlagen der R Programmiersprache

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Grundlagen der R Programmiersprache Modul G WS 07/08

  2. Besteht aus einem oder mehrerern Elementen x = 3 meinedatei = c(10, 20, -4) foo = c("IPDS", "Phonetik", “Leibnizstr. 10", 2007, "WS") Besteht aus TRUE und FALSE Objekte Vektor Matrix Eine Zusammensetzung aus Vektoren rbind() und cbind() Logischer Vektor Skalar Eine skalare Variable speichert eine einzelne Zahl (Skalar).

  3. foo[2] foo[2:4] Elemente 2 und 5 a = c(2, 5) foo[a] oder foo[c(2, 5)] Vektoren: Zugriff auf Elemente foo = c("IPDS", "Phonetik", "Leibnizstr. 10", 2007, "WS") foo[-3] Alle Elemente außer “Leibnizstr. 10"

  4. Die length() Funktion wieviele Elemente in einem Vektor? length(x) [1] 3 length(y) [1] 3 length(x)==length(y) [1] TRUE Arithmetische Funktionen werden immer parallelauf Vektoren angewendet x = c(10, 20, 30) y = c(-5, 0, 10) x * y [1] -50 0 300

  5. cbind():Spaltenverbindung mat2 = cbind(x, y) mat2 x y [1,] 10 -5 [2,] 20 0 [3,] 30 10 Reihenanzahl nrow(mat) [1] 2 Spaltenanzahl ncol(mat) [1] 3 Dimensionenanzahl dim(mat) [1] 2 3 Matrizen rbind():Reihenverbindung x = c(10, 20, 30) y = c(-5, 0, 10) mat = rbind(x, y) mat [,1] [,2] [,3] x 10 20 30 y -5 0 10

  6. Matrizen und Dimensionennamen mat2 x y [1,] 10 -5 [2,] 20 0 [3,] 30 10 Dimensionen-Namen geben:dimnames() xnamen = c("Gruppe A", "Gruppe B", "Gruppe C") ynamen = c("Erg. 1", "Erg. 2") dimnames(mat2) = list(xnamen, ynamen) mat2 Erg. 1 Erg. 2 Gruppe A 10 -5 Gruppe B 20 0 Gruppe C 30 10

  7. Dimensionen-Namen entfernen... dimnames(mat2) = NULL mat2 [,1] [,2] [1,] 10 -5 [2,] 20 0 [3,] 30 10

  8. Matrizen und Arithmetische Vorgänge werden wie bei Vektoren parallel durchgeführt mat [,1] [,2] [,3] x 10 20 30 y -5 0 10 mat -20 [,1] [,2] [,3] x -10 0 10 y -25 -20 -10

  9. a [,1] [,2] [,3] [,4] 10 3 8 7 11 45 20 -1 b [,1] [,2] [,3] [,4] 20 6 16 14 22 90 40 -2 a + b [,1] [,2] [,3] [,4] 30 9 24 21 33 135 60 -3

  10. Anwendung von Funktionen auf Matrizen mat [,1] [,2] [,3] x 10 20 30 y -5 0 10 mean(mat) [1] 10.83333 (Durchschnitt aller Elemente) Zentralwert der Spalten apply(mat, 2, median) [1] 2.5 10.0 20.0 Durchschnitt der Reihen apply(mat, 1, mean) x y 20.000000 1.666667

  11. Zugriff auf Elemente einer Matrix mat [,1] [,2] [,3] x 10 20 30 y -5 0 10 mat[2,3]bedeutet: Reihe 2, Spalte 3 [1] 10 Nur Reihe 2 mat[2,] [1] -5 0 10 Nur Spalte 3 mat[,3] x y 30 10 Reihen: Vor dem Komma Spalten: Nach dem Komma Vektoren: Eine einzige Zahl OHNE KOMMA

  12. Zugriff auf Elemente einer Matrix bridge ist eine Matrix Reihen 2 bis 8 bridge[2:8,] Spalten 1 und 3 bridge[,c(1,3)] bridge[2:8,c(1,3)] Reihen 2 bis 8 von Spalten 1 und 3 Spalte 1 von Reihen 2 und 4 bridge[c(2,4),1] Reihen 1-3 aller Spalten außer Spalte 2 bridge[1:3,-2]

  13. Logische Vektoren folgen einer Boolean-Logik | bedeutet "oder" & bedeutet "und" Das Ergebnis von TRUE und TRUE ist TRUE T | T [1] T F | F [1] F T | F [1] T T & T [1] T F & F [1] F T & F [1] F Logischer Vektor = Ein Vektor aus TRUE und FALSE Elementen temp = c(T, F, T) temp [1] TRUE FALSE TRUE

  14. Klammern Material innerhalb ( ) wird zuerst bearbeitet (T & F) | T [1] TRUE ( (T | F ) & (T & T) | F) [1] TRUE

  15. vec2 = c(F, F, F, F) any(vec2) [1] FALSE any(!vec2) [1] TRUE Logische Vektoren, sum() und any() Wieviele T? Wieviele F? sum() vec = c(T, T, F, T, F) sum(vec) [1] 3 sum(!vec) [1] 2 Gibt es mindestens einen T? Oder mindestens einen F? any() any(vec) [1] TRUE any(!vec) [1] TRUE sum(any(!vec2)) [1] 1

  16. Erster Fall: y besteht aus einem Element x = c(10, 20, 30) y = 20 x == y [1] FALSE TRUE FALSE x == 20 [1] FALSE TRUE FALSE Vergleichungs-Operator x == ygleicht x y? != gleicht nicht x < y ist x weniger als y? > größer als <= weniger oder gleicht x %in% y ist y in x enthalten?

  17. Vergleichungs-Operator Zweiter Fall. x und y sind zueinander parallel (und bestehen daher aus der selben Anzahl von Elementen) x = c(10, 20, 30) y = c(9, 50, 30) x == y [1] FALSE FALSE TRUE

  18. Vergleichungs-Operator labs %in% "E"(kommt "E" in labs vor?) [1] FALSE TRUE FALSE FALSE FALSE FALSE TRUE (kommen "E" oder "I" in labs vor?) labs %in% c("I", "E") [1] TRUE TRUE FALSE FALSE FALSE TRUE TRUE Dasselbe: y = c("I", "E") labs %in% y [1] TRUE TRUE FALSE FALSE FALSE TRUE TRUE %in% labs = c("I", "E", "O", "O", "O","I", "E")

  19. > x[lvec]bedeutet: die Elemente in x, für die lvec TRUE ist [1] 23 45 Zugriff auf Elemente durch [logische Vektoren] x = c(23, 5, 45, -10, 11) lvec = x > 20 [1] TRUE FALSE TRUE FALSE FALSE x[!lvec] [1] 5 -10 11

  20. Was ist (a) die Bedeutung (in Wörtern) und (b) das Ergebnis von: freunde[temp] (a) Bedeutung: die Freunde, die länger als 40 Minuten brauchen, um in die Arbeit zu kommen. (b)[1] "Paul" "Georg" Meine Freunde freunde = c("Paul", "Karin", "Elke", "Georg", "Peter") Die Dauer (Min.) um in die Arbeit zu kommen zeit = c(50, 11, 35, 41, 12) Welche Dauern sind größer als 40? temp = zeit > 40 temp [1] TRUE FALSE FALSE TRUE FALSE

  21. freunde = c("Paul", "Karin", "Elke", "Georg", "Peter") zeit = c(50, 11, 35, 41, 12) Schreiben Sie R-Befehle für: Welche Freunde brauchen 41 Minuten, um in die Arbeit zu kommen? temp = zeit == 41 freunde[temp] [1] "Georg" oder freunde[zeit == 41] [1] "Georg"

  22. Schreiben Sie R-Befehle für: Welcher Freund braucht am längsten? Hier muss auch die max()Funktion verwendet werden: y = c(10, 20, 30) max(y) [1] 30 temp = zeit == max(zeit) freunde[temp] [1] "Paul" Oder freunde[zeit == max(zeit)] [1] "Paul"

  23. R-Befehle für: welcher Freund braucht zwischen 25 und 45 Minuten? ·(die Freunde, die mehr als 25 Minuten brauchen) & ·(die Freunde, die weniger als 45 Minuten brauchen) temp = (zeit > 25) & (zeit < 45) freunde[temp] [1] "Elke" "Georg"

  24. R-Befehle für: Wieviele Freunde brauchen weniger als 40 Minuten? sum() temp = zeit < 40 sum(temp) [1] 3 Oder sum(zeit < 40)

  25. Gibt es Freunde, die mehr als 45 Minuten brauchen? any() temp = zeit > 45 any(temp) [1] TRUE oder in einer Zeile: any(zeit > 45) [1] TRUE

More Related