Grundlagen der R Programmiersprache Modul G WS 07/08.

Slides:



Advertisements
Ähnliche Präsentationen
11. Matrizen. 11. Matrizen Eine mn-Matrix ist ein Raster aus mn Koeffizienten, die in m Zeilen und n Spalten angeordnet sind. = (aij)1  i  m, 1.
Advertisements

R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
10. Grundlagen imperativer Programmiersprachen
Seminar Stochastik im WS 02/03
Gliederung Motivation / Grundlagen Sortierverfahren
Spektra von periodischen Signalen. Resonanz.
Formant-Analysen von Vokalen
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Logische Vektoren in R Jonathan Harrington.
Spektrale Analysen in EMU-R: eine Einführung
Grundlagen der R Programmiersprache
Formant-Analysen von Vokalen (2) Jonathan Harrington 1, 2 Struktur und Abbildung einer Trackdatei 3, 4. Anwendung von vorhandenen und eigenen Funktionen.
Konstruktoren.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Kapitel 1 Das Schubfachprinzip
Dynamische Webseiten mit PHP
Beispiele für Gleichungssysteme
Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George.
Klausur „Diskrete Mathematik II“
Uebung 03 Netzdateien.
Vortrag: Ingo Gensch, Mathias Reich am:
boolean Datentyp und Operator
Das wars!.
Wie macht man ein Sudoku? Transformations-Methode:
Matrix-Algebra Grundlagen 1. Matrizen und Vektoren
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
Informatik 1 Übung 2.
Eine Liste, in der die Atome der Größe nach eingeordnet sind.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Mathematik STATISTIK Viktoria Kozdron, 5AK VBS Augarten.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Lineare Algebra Komplizierte technologische Abläufe können übersichtlich mit Matrizen dargestellt werden. Prof. Dr. E. Larek
Folie 1 Kapitel IV. Matrizen Inhalt: Matrizen als eigenständige mathematische Objekte Zusammenhang zwischen Matrizen und linearen Abbildungen Produkt von.
§3 Allgemeine lineare Gleichungssysteme
Einführung in die Matrizenrechnung
Einführung in die Programmiersprache C 4
Parallel Matrix Multiplication
Lineare Algebra, Teil 2 Abbildungen
Technische Informatik Reihungen – Felder - Arrays.
Jeder zukünftige Ingenieur lernt eine mathematische Aufzeichnung, um die Summe von zwei tatsächlichen Größen, zu dem Beispiel entsprechend leicht aufzuzeichnen.
Bereit ???? Nimm dir 10 Minuten Zeit. Ich versuche es dir zu erklären.
Befehle in SQL Erläuterungen.
Variablenkonzept Klassisch, in Java Basistyp
Multivariate Statistische Verfahren
Dieser nicht Fehler finden Algorithmus enthält einfach einen gravierenden welcher zu ist.
Multivariate Statistische Verfahren
Multivariate Statistische Verfahren
Programmieren in C Grundlagen C 2
PHP: Operatoren und Kontrollstrukturen
Übung 2 - MdMT Methoden der Medizintechnik Übung zur Vorlesung Folge 2 – Basics Vom ersten Befehl zum Plot.
Vorlesung #5 SQL (Teil 2).
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Erheben, berechnen und darstellen von Daten
Anführungszeichen?! echo 'Apfel$atf'; // ergibt: Apfel$aft
Programmierungssprache PERL
MATLAB Control Statements.
Prof. Dr. Walter Kiel Fachhochschule Ansbach
VERRÜCKT ! Dies ist eine kleine Mathe Übung die Dich mehr als einmal staunen lassen wird !!!
Variablen und Datentypen
Binärbäume.
Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.
Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger.
Physische Geographie Uni Augsburg Variablen-Arrays: mehrere Platzhalter in einer Variable: Ein Array ist eine (Feld-)Variable in der mehr als ein Wert.
Konstruktoren.
Klausur „Diskrete Mathematik II“
Vorlesung #5 SQL (Teil 2).
Multivariate Statistische Verfahren
Kapitel IV. Matrizen Inhalt:
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
Arrays in C Ein Array ist eine Variable, die aus einer Anzahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
 Präsentation transkript:

Grundlagen der R Programmiersprache Modul G WS 07/08

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

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

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

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

Matrizen und Dimensionennamen mat2 x y [1,] [2,] 20 0 [3,] 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 Gruppe B 20 0 Gruppe C Dimensionen-Namen geben: dimnames()

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

Matrizen und Arithmetische Vorgänge werden wie bei Vektoren parallel durchgeführt mat [,1] [,2] [,3] x y mat -20 [,1] [,2] [,3] x y

a [,1] [,2] [,3] [,4] b [,1] [,2] [,3] [,4] a + b [,1] [,2] [,3] [,4]

Anwendung von Funktionen auf Matrizen mat [,1] [,2] [,3] x y mean(mat) [1] (Durchschnitt aller Elemente) Durchschnitt der Reihen apply(mat, 1, mean) x y Zentralwert der Spalten apply(mat, 2, median) [1]

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

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

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

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

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

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

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

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

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

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) temp = zeit > 40 [1] TRUE FALSE FALSE TRUE FALSE te mp freunde[temp] Was ist (a) die Bedeutung (in Wörtern) und (b) das Ergebnis von: (a) Bedeutung: die Freunde, die länger als 40 Minuten brauchen, um in die Arbeit zu kommen. (b) [1] "Paul" "Georg" Welche Dauern sind größer als 40?

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"

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"

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"

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

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