Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Einführung in R Universität Konstanz SS 2011 Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Kompetenz- und Lernziele der Veranstaltung Kompetenziele der Veranstaltung: Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Kompetenz- und Lernziele der Veranstaltung Kompetenziele der Veranstaltung: Sie besitzen grundlegende Kenntnisse um mit Hilfe der statistischen Programmierumgebung R Datensätze zu analysieren. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Kompetenz- und Lernziele der Veranstaltung Kompetenziele der Veranstaltung: Sie besitzen grundlegende Kenntnisse um mit Hilfe der statistischen Programmierumgebung R Datensätze zu analysieren. Sie haben ”keine Angst” R anzuwenden und entdecken wie einfach programmieren ist. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Kompetenz- und Lernziele der Veranstaltung Kompetenziele der Veranstaltung: Sie besitzen grundlegende Kenntnisse um mit Hilfe der statistischen Programmierumgebung R Datensätze zu analysieren. Sie haben ”keine Angst” R anzuwenden und entdecken wie einfach programmieren ist. Sie sind in der Lage mittels des Erlernten sich tiefergehende Kenntnisse anzueignen. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Kompetenz- und Lernziele der Veranstaltung Kompetenziele der Veranstaltung: Sie besitzen grundlegende Kenntnisse um mit Hilfe der statistischen Programmierumgebung R Datensätze zu analysieren. Sie haben ”keine Angst” R anzuwenden und entdecken wie einfach programmieren ist. Sie sind in der Lage mittels des Erlernten sich tiefergehende Kenntnisse anzueignen. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Kompetenz- und Lernziele der Veranstaltung Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Kompetenz- und Lernziele der Veranstaltung Konkrete Lernziele Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Kompetenz- und Lernziele der Veranstaltung Konkrete Lernziele Nach der Veranstaltung... Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Kompetenz- und Lernziele der Veranstaltung Konkrete Lernziele Nach der Veranstaltung... kennen Sie die grundlegenden Funktionen in R. Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Kompetenz- und Lernziele der Veranstaltung Konkrete Lernziele Nach der Veranstaltung... kennen Sie die grundlegenden Funktionen in R. können Sie eigene Funktionen schreiben. Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Kompetenz- und Lernziele der Veranstaltung Konkrete Lernziele Nach der Veranstaltung... kennen Sie die grundlegenden Funktionen in R. können Sie eigene Funktionen schreiben. sind Sie in der Lage Grafiken zu erstellen um die Ergebnisse einer statistischen Analyse zu visualisieren. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Kompetenz- und Lernziele der Veranstaltung Konkrete Lernziele Nach der Veranstaltung... kennen Sie die grundlegenden Funktionen in R. können Sie eigene Funktionen schreiben. sind Sie in der Lage Grafiken zu erstellen um die Ergebnisse einer statistischen Analyse zu visualisieren. können Sie Datensätze laden und verwalten. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Kompetenz- und Lernziele der Veranstaltung Konkrete Lernziele Nach der Veranstaltung... kennen Sie die grundlegenden Funktionen in R. können Sie eigene Funktionen schreiben. sind Sie in der Lage Grafiken zu erstellen um die Ergebnisse einer statistischen Analyse zu visualisieren. können Sie Datensätze laden und verwalten. können Sie Pakete installieren, laden und verwalten. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Kompetenz- und Lernziele der Veranstaltung Konkrete Lernziele Nach der Veranstaltung... kennen Sie die grundlegenden Funktionen in R. können Sie eigene Funktionen schreiben. sind Sie in der Lage Grafiken zu erstellen um die Ergebnisse einer statistischen Analyse zu visualisieren. können Sie Datensätze laden und verwalten. können Sie Pakete installieren, laden und verwalten. verstehen Sie die Fehlermeldungen des Programms und können die Ursachen dafür emitteln. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Kompetenz- und Lernziele der Veranstaltung Konkrete Lernziele Nach der Veranstaltung... kennen Sie die grundlegenden Funktionen in R. können Sie eigene Funktionen schreiben. sind Sie in der Lage Grafiken zu erstellen um die Ergebnisse einer statistischen Analyse zu visualisieren. können Sie Datensätze laden und verwalten. können Sie Pakete installieren, laden und verwalten. verstehen Sie die Fehlermeldungen des Programms und können die Ursachen dafür emitteln. kommen Sie mit den Hilfedateien zu recht. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Kompetenz- und Lernziele der Veranstaltung Konkrete Lernziele Nach der Veranstaltung... kennen Sie die grundlegenden Funktionen in R. können Sie eigene Funktionen schreiben. sind Sie in der Lage Grafiken zu erstellen um die Ergebnisse einer statistischen Analyse zu visualisieren. können Sie Datensätze laden und verwalten. können Sie Pakete installieren, laden und verwalten. verstehen Sie die Fehlermeldungen des Programms und können die Ursachen dafür emitteln. kommen Sie mit den Hilfedateien zu recht. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Übersicht 1 Einführung 2 Datenverarbeitung in R 3 Programmfluss 4 Einlesen und Speichern von Daten 5 Erzeugen von Grafiken Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Übersicht 1 Einführung 2 Datenverarbeitung in R 3 Programmfluss 4 Einlesen und Speichern von Daten 5 Erzeugen von Grafiken Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Was ist R? Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Was ist R? R ist eine Softwareumgebung für numerische und grafische Datenanalyse. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Was ist R? R ist eine Softwareumgebung für numerische und grafische Datenanalyse. R basiert auf der Programmiersprache S Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Was ist R? R ist eine Softwareumgebung für numerische und grafische Datenanalyse. R basiert auf der Programmiersprache S Kommerzielle Version von S: S-Plus (Ehemals Insightful, jetzt TIBCO Software) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Was ist R? R ist eine Softwareumgebung für numerische und grafische Datenanalyse. R basiert auf der Programmiersprache S Kommerzielle Version von S: S-Plus (Ehemals Insightful, jetzt TIBCO Software) R ist frei verfügbar: www.r-project.org Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Was ist R? R ist eine Softwareumgebung für numerische und grafische Datenanalyse. R basiert auf der Programmiersprache S Kommerzielle Version von S: S-Plus (Ehemals Insightful, jetzt TIBCO Software) R ist frei verfügbar: www.r-project.org aktuelle Version 2.12.2 Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Was ist R? R ist eine Softwareumgebung für numerische und grafische Datenanalyse. R basiert auf der Programmiersprache S Kommerzielle Version von S: S-Plus (Ehemals Insightful, jetzt TIBCO Software) R ist frei verfügbar: www.r-project.org aktuelle Version 2.12.2 Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Wozu brauche ich R? Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Wozu brauche ich R? Wer benutzt R (bzw. die kommerzielle Version S-PLUS)? Universität: Lehrveranstaltungen, die R-Kenntnisse voraussetzen: Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Wozu brauche ich R? Wer benutzt R (bzw. die kommerzielle Version S-PLUS)? Universität: Lehrveranstaltungen, die R-Kenntnisse voraussetzen: Stochastik I (Statistikteil), Zeitreihenanalyse und mathematische Statistik Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Wozu brauche ich R? Wer benutzt R (bzw. die kommerzielle Version S-PLUS)? Universität: Lehrveranstaltungen, die R-Kenntnisse voraussetzen: Stochastik I (Statistikteil), Zeitreihenanalyse und mathematische Statistik evtl. Diplomarbeit Forschung Wirtschaft: Banken und Versicherungen: AXA, Raiffeisen (Schweiz), Credit Suisse, Bank of America, Swiss Re etc. andere Unternehmen: Google, Pfizer, Merck, Nycomed etc. http://www.nytimes.com/2009/01/07/technology/businesscomputing/07program.html?pagewanted=2 Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Vor- und Nachteile von R Vorteile von R Open Source Keine Blackbox, alles kann nachvollzogen werden Am Puls der Forschung Erweiterbarkeit, Skalierbarkeit Auf fast jedem Betriebssystem/ jeder Plattform lauffähig Support Meist schnelle und kompetente Beantwortung von Fragen auf R-Help (eine Mailing Liste) Programmfehler werden meist innerhalb weniger Tage behoben. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Vor- und Nachteile von R Nachteile von R keine komfortable grafische Benutzeroberfläche (aber R Commander, JGR, TinnR etc.) ... Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Abgrenzung von R zu anderer Statistik Software Im Unterschied zur bekannten Statistiksoftware, wie SAS, SPSS oder STATA, wird in R alles in Objekten gespeichert, d.h. jede Analyse, die durchgefhrt wurde, wird nicht nur einfach auf den Bildschirm ausgegeben, sondern kann auch zur Weiterverarbeitung genutzt werden. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Literatur 1 Online Dokumentation, z.B. auf www.r-project.org 2 Zuur, Ieno, Meesters: A beginner’s guide to R, Springer (Einführend) 3 Uwe Ligges: Programmieren mit R, Springer (Einführend) 4 Chambers: Software for Data Analysis. Programming with R, Springer (Fortgeschritten) 5 Phil Spector: Data Manipulation with R, Springer (Fortgeschritten) 6 Chambers, Hastie: Statistical Models in S, Chapman & Hall Computer Science Series (Fortgeschritten) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erste Schritte Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erste Schritte 1 Starten der R Konsole unter Windows: Start Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 Starten der R Konsole unter Windows: Start → Alle Programme Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 Starten der R Konsole unter Windows: Start → Alle Programme → R2.... Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 Starten der R Konsole unter Windows: Start → Alle Programme → R2.... → R Gui wird im MDI Modus gestartet. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 2 Starten der R Konsole unter Windows: Start → Alle Programme → R2.... → R Gui wird im MDI Modus gestartet. grundsätzlich drei Möglichkeiten Programme zu schreiben: Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 2 Starten der R Konsole unter Windows: Start → Alle Programme → R2.... → R Gui wird im MDI Modus gestartet. grundsätzlich drei Möglichkeiten Programme zu schreiben: direkte Eingabe in die R-Console (umständlich) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 2 Starten der R Konsole unter Windows: Start → Alle Programme → R2.... → R Gui wird im MDI Modus gestartet. grundsätzlich drei Möglichkeiten Programme zu schreiben: direkte Eingabe in die R-Console (umständlich) Erstellung von R-Skripten: Datei → Neues Skript. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 2 Starten der R Konsole unter Windows: Start → Alle Programme → R2.... → R Gui wird im MDI Modus gestartet. grundsätzlich drei Möglichkeiten Programme zu schreiben: direkte Eingabe in die R-Console (umständlich) Erstellung von R-Skripten: Datei → Neues Skript. Nutzung eines Texteditors: Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 2 Starten der R Konsole unter Windows: Start → Alle Programme → R2.... → R Gui wird im MDI Modus gestartet. grundsätzlich drei Möglichkeiten Programme zu schreiben: direkte Eingabe in die R-Console (umständlich) Erstellung von R-Skripten: Datei → Neues Skript. Nutzung eines Texteditors: Mögliche Editoren unter Linux: KWrite. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 2 Starten der R Konsole unter Windows: Start → Alle Programme → R2.... → R Gui wird im MDI Modus gestartet. grundsätzlich drei Möglichkeiten Programme zu schreiben: direkte Eingabe in die R-Console (umständlich) Erstellung von R-Skripten: Datei → Neues Skript. Nutzung eines Texteditors: Mögliche Editoren unter Linux: KWrite. Mögliche Editoren für Windows: R-Winedt, TinnR oder JGR als Ergänzung zu mitgelieferten GUI. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 Objekte werden mit dem Zuweisungsoperator (<-) erzeugt. In neueren Versionen kann auch das Gleichheitszeichen = verwendet werden. Der Befehl rm() entfernt ein Objekt. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 Objekte werden mit dem Zuweisungsoperator (<-) erzeugt. In neueren Versionen kann auch das Gleichheitszeichen = verwendet werden. Der Befehl rm() entfernt ein Objekt. 2 ls() zeigt die aktuellen Objekte an. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 Objekte werden mit dem Zuweisungsoperator (<-) erzeugt. In neueren Versionen kann auch das Gleichheitszeichen = verwendet werden. Der Befehl rm() entfernt ein Objekt. 2 ls() zeigt die aktuellen Objekte an. 3 Erzeugte Objekte werden im Workspace gespeichert: Laden bzw. speichern eines Workspaces: load() bzw save.image(). Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 Objekte werden mit dem Zuweisungsoperator (<-) erzeugt. In neueren Versionen kann auch das Gleichheitszeichen = verwendet werden. Der Befehl rm() entfernt ein Objekt. 2 ls() zeigt die aktuellen Objekte an. 3 Erzeugte Objekte werden im Workspace gespeichert: Laden bzw. speichern eines Workspaces: load() bzw save.image(). 4 Hilfefunktion: start.help(), help() oder ?Begriff. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 Objekte werden mit dem Zuweisungsoperator (<-) erzeugt. In neueren Versionen kann auch das Gleichheitszeichen = verwendet werden. Der Befehl rm() entfernt ein Objekt. 2 ls() zeigt die aktuellen Objekte an. 3 Erzeugte Objekte werden im Workspace gespeichert: Laden bzw. speichern eines Workspaces: load() bzw save.image(). 4 Hilfefunktion: start.help(), help() oder ?Begriff. 5 Einbinden externen Codes: source(). Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 Objekte werden mit dem Zuweisungsoperator (<-) erzeugt. In neueren Versionen kann auch das Gleichheitszeichen = verwendet werden. Der Befehl rm() entfernt ein Objekt. 2 ls() zeigt die aktuellen Objekte an. 3 Erzeugte Objekte werden im Workspace gespeichert: Laden bzw. speichern eines Workspaces: load() bzw save.image(). 4 Hilfefunktion: start.help(), help() oder ?Begriff. 5 Einbinden externen Codes: source(). 6 Mit der Option echo=TRUE wird der aufgerufene Programmcode angezeigt. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte 1 Objekte werden mit dem Zuweisungsoperator (<-) erzeugt. In neueren Versionen kann auch das Gleichheitszeichen = verwendet werden. Der Befehl rm() entfernt ein Objekt. 2 ls() zeigt die aktuellen Objekte an. 3 Erzeugte Objekte werden im Workspace gespeichert: Laden bzw. speichern eines Workspaces: load() bzw save.image(). 4 Hilfefunktion: start.help(), help() oder ?Begriff. 5 Einbinden externen Codes: source(). 6 Mit der Option echo=TRUE wird der aufgerufene Programmcode angezeigt. 7 # ist das Kommentarzeichen. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte: Beispiel x=c(1,2,3,5,7) #Ein Vektor x wird erzeugt. y=c(4,6,8,9,10) ls() #Alle Objekte innerhalb ihres Workspaces #(Arbeitsumgebung) werden aufgelistet. Aufgabe Legen Sie einen Ordner R-Kurs auf der Festplatte an und speichern Sie ihren Workspace dort ab! Dazu haben Sie zwei Möglichkeiten entweder über die Menüleiste (oben in der Konsole) oder direkt durch Eingabe save.image(file="Dateipfad\\Dateiname.Rdata") Vorsicht: Einzelne Ordner müssen innerhalb des Pfades mit \\ abgetrennt werden. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte: Beispiel Objekte, die nicht mehr benötigt werden, knnen mit rm(Objektname) entfernt werden. Um alle Objekte auf einmal zu entfernen, genügt es rm(list=ls()) einzugeben. Aufgabe Entfernen Sie alle Objekte aus ihrem Workspace und stellen Sie diese wieder her. Hinweis: Benutzen Sie den Befehl load(). Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte: Beispiel Bei häufig wiederkehrenden Aufgabenstellungen in abgewandelter Form ist es sinnvoll nicht nur die Objekte selbst, sondern auch den zugehörigen Programmiercode zu speichern. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte: Beispiel Bei häufig wiederkehrenden Aufgabenstellungen in abgewandelter Form ist es sinnvoll nicht nur die Objekte selbst, sondern auch den zugehörigen Programmiercode zu speichern. Zu diesem Zweck können sogenannte Skripte geschrieben und abgespeichert werden. Der Code kann dann wie folgt importiert werden (3 Möglichkeiten): Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte: Beispiel Bei häufig wiederkehrenden Aufgabenstellungen in abgewandelter Form ist es sinnvoll nicht nur die Objekte selbst, sondern auch den zugehörigen Programmiercode zu speichern. Zu diesem Zweck können sogenannte Skripte geschrieben und abgespeichert werden. Der Code kann dann wie folgt importiert werden (3 Möglichkeiten): Man schreibt das Programm in einem gewöhnlichen Texteditor, kopiert den gewünschten Teil raus und fügt diesen in die R-Console ein. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte: Beispiel Bei häufig wiederkehrenden Aufgabenstellungen in abgewandelter Form ist es sinnvoll nicht nur die Objekte selbst, sondern auch den zugehörigen Programmiercode zu speichern. Zu diesem Zweck können sogenannte Skripte geschrieben und abgespeichert werden. Der Code kann dann wie folgt importiert werden (3 Möglichkeiten): Man schreibt das Programm in einem gewöhnlichen Texteditor, kopiert den gewünschten Teil raus und fügt diesen in die R-Console ein. Man benutzt einen Editor, der mit R kompatibel ist, dann kann der Code markiert und durch ein Tastaturkürzel. (meist STRG+R) eingefügt werden. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte: Beispiel Bei häufig wiederkehrenden Aufgabenstellungen in abgewandelter Form ist es sinnvoll nicht nur die Objekte selbst, sondern auch den zugehörigen Programmiercode zu speichern. Zu diesem Zweck können sogenannte Skripte geschrieben und abgespeichert werden. Der Code kann dann wie folgt importiert werden (3 Möglichkeiten): Man schreibt das Programm in einem gewöhnlichen Texteditor, kopiert den gewünschten Teil raus und fügt diesen in die R-Console ein. Man benutzt einen Editor, der mit R kompatibel ist, dann kann der Code markiert und durch ein Tastaturkürzel. (meist STRG+R) eingefügt werden. Durch den Befehl source(Dateipfad) kann eine Datei über die Console eingelesen werden. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erste Schritte: Beispiel Bei häufig wiederkehrenden Aufgabenstellungen in abgewandelter Form ist es sinnvoll nicht nur die Objekte selbst, sondern auch den zugehörigen Programmiercode zu speichern. Zu diesem Zweck können sogenannte Skripte geschrieben und abgespeichert werden. Der Code kann dann wie folgt importiert werden (3 Möglichkeiten): Man schreibt das Programm in einem gewöhnlichen Texteditor, kopiert den gewünschten Teil raus und fügt diesen in die R-Console ein. Man benutzt einen Editor, der mit R kompatibel ist, dann kann der Code markiert und durch ein Tastaturkürzel. (meist STRG+R) eingefügt werden. Durch den Befehl source(Dateipfad) kann eine Datei über die Console eingelesen werden. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Aufgabe Erstellen Sie ein Skript, in dem die Vektoren x, y wie oben erzeugt werden. Verändern Sie, jeweils das letzte Element der beiden Vektoren im Skript beliebig und lesen Sie den Code nochmals ein. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe Die Hilfeseite zu einer Funktion ist meist in acht Abschnitte gegliedert: Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe Die Hilfeseite zu einer Funktion ist meist in acht Abschnitte gegliedert: 1 Description - Allgemeine Beschreibung der Funktion. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe Die Hilfeseite zu einer Funktion ist meist in acht Abschnitte gegliedert: 1 Description - Allgemeine Beschreibung der Funktion. 2 Usage - Hinweise zur Nutzung, insbesondere eine Liste von Argumenten, die übergeben werden. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe Die Hilfeseite zu einer Funktion ist meist in acht Abschnitte gegliedert: 1 Description - Allgemeine Beschreibung der Funktion. 2 Usage - Hinweise zur Nutzung, insbesondere eine Liste von Argumenten, die übergeben werden. 3 Arguments - Beschreibung der zu übergebenden Argumente. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe Die Hilfeseite zu einer Funktion ist meist in acht Abschnitte gegliedert: 1 Description - Allgemeine Beschreibung der Funktion. 2 Usage - Hinweise zur Nutzung, insbesondere eine Liste von Argumenten, die übergeben werden. 3 Arguments - Beschreibung der zu übergebenden Argumente. 4 Details - Weitere Hinweise zur Funktion oder zu den Argumenten. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe Die Hilfeseite zu einer Funktion ist meist in acht Abschnitte gegliedert: 1 Description - Allgemeine Beschreibung der Funktion. 2 Usage - Hinweise zur Nutzung, insbesondere eine Liste von Argumenten, die übergeben werden. 3 Arguments - Beschreibung der zu übergebenden Argumente. 4 Details - Weitere Hinweise zur Funktion oder zu den Argumenten. 5 Value - Der Wert, den die Funktion zurückgibt. 6 References - Literatur auf der die Implementierung basiert. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe Die Hilfeseite zu einer Funktion ist meist in acht Abschnitte gegliedert: 1 Description - Allgemeine Beschreibung der Funktion. 2 Usage - Hinweise zur Nutzung, insbesondere eine Liste von Argumenten, die übergeben werden. 3 Arguments - Beschreibung der zu übergebenden Argumente. 4 Details - Weitere Hinweise zur Funktion oder zu den Argumenten. 5 Value - Der Wert, den die Funktion zurückgibt. 6 References - Literatur auf der die Implementierung basiert. 7 See Also - Weitere Funktionen, die zur aufgerufenen Funktion eine Verbindung haben. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe Die Hilfeseite zu einer Funktion ist meist in acht Abschnitte gegliedert: 1 Description - Allgemeine Beschreibung der Funktion. 2 Usage - Hinweise zur Nutzung, insbesondere eine Liste von Argumenten, die übergeben werden. 3 Arguments - Beschreibung der zu übergebenden Argumente. 4 Details - Weitere Hinweise zur Funktion oder zu den Argumenten. 5 Value - Der Wert, den die Funktion zurückgibt. 6 References - Literatur auf der die Implementierung basiert. 7 See Also - Weitere Funktionen, die zur aufgerufenen Funktion eine Verbindung haben. 8 Examples - Beispiele, welche die Funktionsweise der Funktion veranschaulichen sollen. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe Die Hilfeseite zu einer Funktion ist meist in acht Abschnitte gegliedert: 1 Description - Allgemeine Beschreibung der Funktion. 2 Usage - Hinweise zur Nutzung, insbesondere eine Liste von Argumenten, die übergeben werden. 3 Arguments - Beschreibung der zu übergebenden Argumente. 4 Details - Weitere Hinweise zur Funktion oder zu den Argumenten. 5 Value - Der Wert, den die Funktion zurückgibt. 6 References - Literatur auf der die Implementierung basiert. 7 See Also - Weitere Funktionen, die zur aufgerufenen Funktion eine Verbindung haben. 8 Examples - Beispiele, welche die Funktionsweise der Funktion veranschaulichen sollen. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe: Beispiel Aufgabe Versuchen Sie mit den enstprechenden Hilfedateien herauszufinden, was die folgenden Ausdrücke bewirken: >sum(c(1,2,3,4)ˆ 2) >sort(c(2,4,5,3),decreasing=TRUE) >cumsum(1:8) >mean(1:6) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Struktur der Hilfe: Beispiel Lösung >sum(c(1,2,3,4)ˆ 2) Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Struktur der Hilfe: Beispiel Lösung >sum(c(1,2,3,4)ˆ 2) Summe der Quadratzahlen von 1 bis 4. Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Struktur der Hilfe: Beispiel Lösung >sum(c(1,2,3,4)ˆ 2) Summe der Quadratzahlen von 1 bis 4. >sort(c(2,4,5,3),decreasing=TRUE) Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe: Beispiel Lösung >sum(c(1,2,3,4)ˆ 2) Summe der Quadratzahlen von 1 bis 4. >sort(c(2,4,5,3),decreasing=TRUE) Sortieren der Zahlen 2,4,5,3 in absteigender Reihenfolge. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe: Beispiel Lösung >sum(c(1,2,3,4)ˆ 2) Summe der Quadratzahlen von 1 bis 4. >sort(c(2,4,5,3),decreasing=TRUE) Sortieren der Zahlen 2,4,5,3 in absteigender Reihenfolge. >cumsum(1:8) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe: Beispiel Lösung >sum(c(1,2,3,4)ˆ 2) Summe der Quadratzahlen von 1 bis 4. >sort(c(2,4,5,3),decreasing=TRUE) Sortieren der Zahlen 2,4,5,3 in absteigender Reihenfolge. >cumsum(1:8) Kummulierte Summe der Zahlen 1 bis 8. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe: Beispiel Lösung >sum(c(1,2,3,4)ˆ 2) Summe der Quadratzahlen von 1 bis 4. >sort(c(2,4,5,3),decreasing=TRUE) Sortieren der Zahlen 2,4,5,3 in absteigender Reihenfolge. >cumsum(1:8) Kummulierte Summe der Zahlen 1 bis 8. >mean(1:6) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe: Beispiel Lösung >sum(c(1,2,3,4)ˆ 2) Summe der Quadratzahlen von 1 bis 4. >sort(c(2,4,5,3),decreasing=TRUE) Sortieren der Zahlen 2,4,5,3 in absteigender Reihenfolge. >cumsum(1:8) Kummulierte Summe der Zahlen 1 bis 8. >mean(1:6) Mittelwert der Zahlen 1 bis 6 (vgl. Würfel). Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Struktur der Hilfe: Beispiel Lösung >sum(c(1,2,3,4)ˆ 2) Summe der Quadratzahlen von 1 bis 4. >sort(c(2,4,5,3),decreasing=TRUE) Sortieren der Zahlen 2,4,5,3 in absteigender Reihenfolge. >cumsum(1:8) Kummulierte Summe der Zahlen 1 bis 8. >mean(1:6) Mittelwert der Zahlen 1 bis 6 (vgl. Würfel). Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Übersicht 1 Einführung 2 Datenverarbeitung in R 3 Programmfluss 4 Einlesen und Speichern von Daten 5 Erzeugen von Grafiken Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Vektoren 1 Vektoren stellen eine grundlegende Datenstruktur in R dar. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Vektoren 1 Vektoren stellen eine grundlegende Datenstruktur in R dar. 2 Selbst skalare Werte werden in R als eindimensionale Vektoren behandelt. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Vektoren 1 Vektoren stellen eine grundlegende Datenstruktur in R dar. 2 Selbst skalare Werte werden in R als eindimensionale Vektoren behandelt. 3 Einfache Erzeugung mit Hilfe des Zuweisungsoperators: x<-c(2,3,4). Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Vektoren 1 Vektoren stellen eine grundlegende Datenstruktur in R dar. 2 Selbst skalare Werte werden in R als eindimensionale Vektoren behandelt. 3 Einfache Erzeugung mit Hilfe des Zuweisungsoperators: x<-c(2,3,4). 4 Die üblichen artihmetischen Operationen werden komponentenweise durchgeführt: Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Vektoren 1 Vektoren stellen eine grundlegende Datenstruktur in R dar. 2 Selbst skalare Werte werden in R als eindimensionale Vektoren behandelt. 3 Einfache Erzeugung mit Hilfe des Zuweisungsoperators: x<-c(2,3,4). 4 Die üblichen artihmetischen Operationen werden komponentenweise durchgeführt: > x*3 [1] 6 9 12 Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Vektoren 1 Vektoren stellen eine grundlegende Datenstruktur in R dar. 2 Selbst skalare Werte werden in R als eindimensionale Vektoren behandelt. 3 Einfache Erzeugung mit Hilfe des Zuweisungsoperators: x<-c(2,3,4). 4 Die üblichen artihmetischen Operationen werden komponentenweise durchgeführt: > x*3 [1] 6 9 12 > x+4 [1] 6 7 8 Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Vektoren 1 Die üblichen mathematischen Funktionen (sin(), cos(), tan(), exp(), log()) arbeiten auch elementweise. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Vektoren 1 Die üblichen mathematischen Funktionen (sin(), cos(), tan(), exp(), log()) arbeiten auch elementweise. 2 Die Funktionen max(), min(), length(), sum(), prod() geben lediglich einen skalaren Wert zurück. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Vektoren 1 Die üblichen mathematischen Funktionen (sin(), cos(), tan(), exp(), log()) arbeiten auch elementweise. 2 Die Funktionen max(), min(), length(), sum(), prod() geben lediglich einen skalaren Wert zurück. 3 Folgen der Länge n mit Anfangsglied a und Endglied b können mit Hilfe von seq(a,b,length=n) erzeugt werden. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Vektoren 1 Die üblichen mathematischen Funktionen (sin(), cos(), tan(), exp(), log()) arbeiten auch elementweise. 2 Die Funktionen max(), min(), length(), sum(), prod() geben lediglich einen skalaren Wert zurück. 3 Folgen der Länge n mit Anfangsglied a und Endglied b können mit Hilfe von seq(a,b,length=n) erzeugt werden. 4 Wichtig: Zahlen und Character- Elemente können nicht in einem Vektor kombiniert werden. In diesem Fall werden numerische Werte ebenfalls als Character Werte interpretiert. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Vektoren 1 Die üblichen mathematischen Funktionen (sin(), cos(), tan(), exp(), log()) arbeiten auch elementweise. 2 Die Funktionen max(), min(), length(), sum(), prod() geben lediglich einen skalaren Wert zurück. 3 Folgen der Länge n mit Anfangsglied a und Endglied b können mit Hilfe von seq(a,b,length=n) erzeugt werden. 4 Wichtig: Zahlen und Character- Elemente können nicht in einem Vektor kombiniert werden. In diesem Fall werden numerische Werte ebenfalls als Character Werte interpretiert. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Auswahl einzelner Vektorkomponenten Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Auswahl einzelner Vektorkomponenten 1 Die einfachste Auswahl besteht in der dirketen Auswahl der entsprechenden Komponente: Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Auswahl einzelner Vektorkomponenten 1 Die einfachste Auswahl besteht in der dirketen Auswahl der entsprechenden Komponente: Die Angabe x[1] gibt beispielsweise (den Vektor) (2) zurück. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Auswahl einzelner Vektorkomponenten 1 Die einfachste Auswahl besteht in der dirketen Auswahl der entsprechenden Komponente: Die Angabe x[1] gibt beispielsweise (den Vektor) (2) zurück. Die Angabe x[c(1,3)] gibt (den Vektor) (2,4) zurück. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Auswahl einzelner Vektorkomponenten 1 Die einfachste Auswahl besteht in der dirketen Auswahl der entsprechenden Komponente: Die Angabe x[1] gibt beispielsweise (den Vektor) (2) zurück. Die Angabe x[c(1,3)] gibt (den Vektor) (2,4) zurück. Die Angabe x[-c(1,3)] gibt (den Vektor) (3) zurück. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Auswahl einzelner Vektorkomponenten 1 Die einfachste Auswahl besteht in der dirketen Auswahl der entsprechenden Komponente: Die Angabe x[1] gibt beispielsweise (den Vektor) (2) zurück. Die Angabe x[c(1,3)] gibt (den Vektor) (2,4) zurück. Die Angabe x[-c(1,3)] gibt (den Vektor) (3) zurück. 2 Eine fortgeschrittene Methode besteht darin, die Elemente eines Vektors mit Hilfe eines logischen Vektors abzufragen. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Auswahl einzelner Vektorkomponenten 1 Die einfachste Auswahl besteht in der dirketen Auswahl der entsprechenden Komponente: Die Angabe x[1] gibt beispielsweise (den Vektor) (2) zurück. Die Angabe x[c(1,3)] gibt (den Vektor) (2,4) zurück. Die Angabe x[-c(1,3)] gibt (den Vektor) (3) zurück. 2 Eine fortgeschrittene Methode besteht darin, die Elemente eines Vektors mit Hilfe eines logischen Vektors abzufragen. Beispielsweise liefert der Befehl x[c(TRUE,TRUE,FALSE)] den Vektor (2,3). Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Logische Vektoren Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Logische Vektoren 1 Üblicherweise gibt man den logischen Vektor nicht dirket an, sondern erhält ihn als Ergebnis einer anderen Operation: Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Logische Vektoren 1 Üblicherweise gibt man den logischen Vektor nicht dirket an, sondern erhält ihn als Ergebnis einer anderen Operation: > y<-1:10 Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Logische Vektoren 1 Üblicherweise gibt man den logischen Vektor nicht dirket an, sondern erhält ihn als Ergebnis einer anderen Operation: > y<-1:10 > y [1] 1 2 3 4 5 6 7 8 9 10 Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Logische Vektoren 1 Üblicherweise gibt man den logischen Vektor nicht dirket an, sondern erhält ihn als Ergebnis einer anderen Operation: > y<-1:10 > y [1] 1 2 3 4 5 6 7 8 9 10 > y<5 [1] TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Logische Vektoren 1 Üblicherweise gibt man den logischen Vektor nicht dirket an, sondern erhält ihn als Ergebnis einer anderen Operation: > y<-1:10 > y [1] 1 2 3 4 5 6 7 8 9 10 > y<5 [1] TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE 2 Der Befehl y[y<5] liefert dann den Vektor (1,2,3,4). Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Logische Vektoren Einige Beispiele für y=1:10: Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Logische Vektoren Einige Beispiele für y=1:10: 1 > y[y==4] [1] 4 Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Logische Vektoren Einige Beispiele für y=1:10: 1 > y[y==4] [1] 4 2 > y[y%%2==0] [1] 2 4 6 8 10 Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Logische Vektoren Einige Beispiele für y=1:10: 1 > y[y==4] [1] 4 2 > y[y%%2==0] [1] 2 4 6 8 10 3 > sum(y) [1] 55 Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Logische Vektoren Einige Beispiele für y=1:10: 1 > y[y==4] [1] 4 2 > y[y%%2==0] [1] 2 4 6 8 10 3 > sum(y) [1] 55 4 > sum(y>5) [1] 5 Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Logische Vektoren Einige Beispiele für y=1:10: 1 > y[y==4] [1] 4 2 > y[y%%2==0] [1] 2 4 6 8 10 3 > sum(y) [1] 55 4 > sum(y>5) [1] 5 5 > sum(y!=5) [1] 9 6 > sum(y[y<5]) [1] 10 Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Aufgabe Wie groß ist die Summe der Quadratzahlen aller ungeraden Zahlen von 1 bis 100? Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Logische Operatoren Die logischen Operatoren werden in R durch & (und), | (oder) und ! (not) realisiert: > u<-1:4; v<-c(1,2,1,2) > u==v | v==(u-2) [1] TRUE TRUE TRUE TRUE > u==v & v==(u-2) [1] FALSE FALSE FALSE FALSE > u==v & v!=u [1] FALSE FALSE FALSE FALSE > u==v | v!=u [1] TRUE TRUE TRUE TRUE > !(u==v | v!=u) [1] FALSE FALSE FALSE FALSE Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Ändern einzelner Vektorkomponenten 1 Die Änderung einzelner Komponenten funktioniert analog: Der Befehl y[4]<-5 setzt beispielsweise die vierte Komponente auf 5. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Ändern einzelner Vektorkomponenten 1 Die Änderung einzelner Komponenten funktioniert analog: Der Befehl y[4]<-5 setzt beispielsweise die vierte Komponente auf 5. 2 Mit Hilfe von y[y%%2==0]<-0 werden alle Komponenten von y, die eine gerade Zahl enthalten auf 0 gesetzt. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Namen für Vektorkomponenten Die Komponenten eines Vektors können mit Namen versehen werden, um diese dann zur Indizierung der Komponenten zu verwenden: > names(x)<-c(’A’,’B’,’C’) > x[c(’A’,’C’)] A C 2 4 > x[’B’]<-5 > x A B C 2 5 4 Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Faktoren Eine Spezielle Art um mit Kategoriellen Variablen umzugehen, bieten sogenannte Faktoren: > faktor<-factor(c(’KN’,’RV’,’FN’,’LI’,’KN’,’RV’, ’LI’,’KN’,’RV’,’FN’,’RV’,’FN’,’LI’)) > faktor [1] KN RV FN LI KN RV LI KN RV FN RV FN LI Levels: FN KN LI RV > as.numeric(faktor) [1] 2 4 1 3 2 4 3 2 4 1 4 1 3 Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Faktoren Spezielle Funktionen erlauben eine schnelles Verarbeiten von Faktoren, z.B. tapply(): > werte<-c(342,56,2,59,25,58,256,58,3,589,37,54,47) > > tapply(werte,faktor,sum) FN KN LI RV 645 425 362 154 Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Matrizen Matrizen werden mit Hilfe des Befehls matrix() erzeugt: > mat<-matrix(data=1:8,nrow=4,ncol=4,byrow=TRUE) > mat [,1] [,2] [,3] [,4] [1,] 1 2 3 4 [2,] 5 6 7 8 [3,] 1 2 3 4 [4,] 5 6 7 8 Eine andere Möglichkeit besteht in der Verwendung von rbind() und cbind(). Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Matrizen Die Auswahl von Elementen ist ähnlich wie bei Vektoren: > mat[1,] [1] 1 2 3 4 > mat[,4] [1] 4 8 4 8 > mat[1,4] [1] 4 > mat[mat[,4]>6,] [,1] [,2] [,3] [,4] [1,] 5 6 7 8 [2,] 5 6 7 8 Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Matrizen Matrizen können als Vektoren interpretiert werden: > mat[2] [1] 5 > length(mat) [1] 16 > names(mat)<-paste(’feld’,1:16) > mat[’feld 5’] feld 5 2 Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Matrizen Spalten und Zeilnennamen werden folgendermaßen vergeben: > dimnames(mat)[[1]]<-c(’z1’,’z2’,’z3’,’z4’) > dimnames(mat)[[2]]<-c(’s1’,’s2’,’s3’,’s4’) > mat s1 s2 s3 s4 z1 1 2 3 4 z2 5 6 7 8 z3 1 2 3 4 z4 5 6 7 8 > mat[,’s1’] z1 z2 z3 z4 1 5 1 5 Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Matrizen Desweiteren steht eine Auswahl von mathematischen Operation zu Verfügung: 1 diag(): Herauslesen oder setzten der Diagonalwerte. 2 solve(): Numerisches Lösen eines LGS. 3 4 %*%: Matrix Multiplikation, t: Transponieren eigen(): Spektraldarstellung 5 dim(): Dimension der Matrix Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Arrays Eine natürliche Verallgemeinerung von Matrizen stellen mehrdimensionale Arrays dar: > a<-array(1:18,c(3,2,3)) > a[1,1,1] [1] 1 > a[2,1,1] [1] 2 > a[1,1,2] [1] 7 > Mathematisch handelt sich hierbei um Objekte des Rp1 ×...pn . is.matrix(array(1,dim=c(2,2))) [1] TRUE Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Verschiedene Datentypen in einer Matrix? 1 Genau wie ein Vektor kann eine Matrix entweder nur numerische oder nur Character Elemente enthalten. Bei der Abspeicherung von mehrdimensionalen Datensätzen kann dies zu Problemen führen. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Verschiedene Datentypen in einer Matrix? 1 Genau wie ein Vektor kann eine Matrix entweder nur numerische oder nur Character Elemente enthalten. Bei der Abspeicherung von mehrdimensionalen Datensätzen kann dies zu Problemen führen. Beispiel: code04 data.frames.R Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Verschiedene Datentypen in einer Matrix? 1 Genau wie ein Vektor kann eine Matrix entweder nur numerische oder nur Character Elemente enthalten. Bei der Abspeicherung von mehrdimensionalen Datensätzen kann dies zu Problemen führen. Beispiel: code04 data.frames.R 2 Für die Verwaltung mehrdimensionaler Datensätze gibt es daher einen speziellen Datentyp: Dataframe. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Listen 1 Genau genommen handelt es sich bei einem Dataframe um einen Spezialfall einer sogenannten Liste. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Listen 1 2 Genau genommen handelt es sich bei einem Dataframe um einen Spezialfall einer sogenannten Liste. Eine Liste ermöglicht es, verschiedene Datentypen zu einem gemeinsamen Datensatz zusammenzufassen. > Liste<-list(eins=c(2,3,4,5),zwei=5, drei=matrix(nrow=2,ncol=2,c(’a’,’b’,’c’,’d’)), vier=as.factor(c(’a’,’a’,’b’))) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Listen 1 2 Genau genommen handelt es sich bei einem Dataframe um einen Spezialfall einer sogenannten Liste. Eine Liste ermöglicht es, verschiedene Datentypen zu einem gemeinsamen Datensatz zusammenzufassen. > Liste<-list(eins=c(2,3,4,5),zwei=5, drei=matrix(nrow=2,ncol=2,c(’a’,’b’,’c’,’d’)), vier=as.factor(c(’a’,’a’,’b’))) > Liste $eins [1] 2 3 4 5 ...} Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Listen > Liste$drei [,1] [,2] [1,] "a" "c" [2,] "b" "d" > > Liste[[1]] [1] 2 3 4 5 > > Liste[[2]] [1] 5 Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Dataframes 1 Das Objekt Dataframe entspricht dem Datentyp zum Verwalten multivariater Daten: namen<-c(’KN’,’RV’,’FN’,’LI’,’KN’,’RV’,’LI’, ’KN’,’RV’,’FN’,’RV’,’FN’,’LI’) werte<-c(342,56,2,59,25,58,256,58,3,589,37,54,47) df<-data.frame(kreis=namen,werte=werte) 2 Ein Dataframe vereinigt gewisse Eigenschaften von Matrizen und Listen. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Dataframes 1 Namen wie Listen: > names(df) [1] "kreis" "werte" Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Dataframes 1 Namen wie Listen: > names(df) [1] "kreis" "werte" > df$kreis [1] KN RV FN LI KN RV LI KN RV FN RV FN LI Levels: FN KN LI RV Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Dataframes 1 Namen wie Listen: > names(df) [1] "kreis" "werte" > df$kreis [1] KN RV FN LI KN RV LI KN RV FN RV FN LI Levels: FN KN LI RV 2 Zugriff auf einzelne Elemente wie bei Matrizen > df[1:3,] kreis werte 1 KN 342 2 RV 56 3 FN 2 3 Zeilen und Spaltennamen wie bei Matrizen Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Dataframes 1 Mit Hilfe des Befehls attach() bzw. detach() können Dataframes in den sogenannten Suchpfad eingebunden werden. Ihre Komponenten können dann wie auf normale Variablen gelesenen werden. 2 Beim Ändern von Daten werden jedoch Kopien erzeugt und nicht die Original Daten geändert, vgl code04 data.frames.R. Am Anfang ist es evtl. einfacher, diese Befehle einfach nicht zu verwenden. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Übersicht 1 Einführung 2 Datenverarbeitung in R 3 Programmfluss 4 Einlesen und Speichern von Daten 5 Erzeugen von Grafiken Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Fallunterscheidung Fallunterscheidungen werden in R durch die klassische If-then-else Abfrage realisiert: if (BEDINGUNG){ Anweisungen } else { Anweisungen } Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Fallunterscheidung Fallunterscheidungen werden in R durch die klassische If-then-else Abfrage realisiert: if (BEDINGUNG){ Anweisungen } else { Anweisungen } Beispiel: >y=1; if (y\%\%2==0){paste("Heute regnet es;-(")} else {paste("Heute scheint die Sonne;-)")} Hinweis: Der else Teil darf auch weggelassen werden. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Universität Konstanz Einlesen und Speichern von Daten Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Eine weitere Möglichkeit für eine Fallunterscheidung besteht in der sogenannten Ifelse-Funktion, welche die folgende Syntax besitzt: Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Eine weitere Möglichkeit für eine Fallunterscheidung besteht in der sogenannten Ifelse-Funktion, welche die folgende Syntax besitzt: ifelse(Bedingung, Anweisung1, Anweisung2) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Eine weitere Möglichkeit für eine Fallunterscheidung besteht in der sogenannten Ifelse-Funktion, welche die folgende Syntax besitzt: ifelse(Bedingung, Anweisung1, Anweisung2) Dabei wird zunächst die Bedingung ausgewertet. Ist diese wahr, so wird Anweisung1 ausgeführt, ansonsten Anweisung2. Beispiel: Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Eine weitere Möglichkeit für eine Fallunterscheidung besteht in der sogenannten Ifelse-Funktion, welche die folgende Syntax besitzt: ifelse(Bedingung, Anweisung1, Anweisung2) Dabei wird zunächst die Bedingung ausgewertet. Ist diese wahr, so wird Anweisung1 ausgeführt, ansonsten Anweisung2. Beispiel: Gegeben sei ein Vektor mit den Zahlen von 1 bis 7. Man möchte nun lediglich die Potenzen der Zahlen größer 3 ausgeben. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Eine weitere Möglichkeit für eine Fallunterscheidung besteht in der sogenannten Ifelse-Funktion, welche die folgende Syntax besitzt: ifelse(Bedingung, Anweisung1, Anweisung2) Dabei wird zunächst die Bedingung ausgewertet. Ist diese wahr, so wird Anweisung1 ausgeführt, ansonsten Anweisung2. Beispiel: Gegeben sei ein Vektor mit den Zahlen von 1 bis 7. Man möchte nun lediglich die Potenzen der Zahlen größer 3 ausgeben. >x=1:7 > ifelse(x>3,xˆ3,0) [1] 0 0 0 64 125 216 343 Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Eine weitere Möglichkeit für eine Fallunterscheidung besteht in der sogenannten Ifelse-Funktion, welche die folgende Syntax besitzt: ifelse(Bedingung, Anweisung1, Anweisung2) Dabei wird zunächst die Bedingung ausgewertet. Ist diese wahr, so wird Anweisung1 ausgeführt, ansonsten Anweisung2. Beispiel: Gegeben sei ein Vektor mit den Zahlen von 1 bis 7. Man möchte nun lediglich die Potenzen der Zahlen größer 3 ausgeben. >x=1:7 > ifelse(x>3,xˆ3,0) [1] 0 0 0 64 125 216 343 Ein wichtiger Aspekt der Ifelse-Funktion ist die vektorwerige Ausführung, d.h. in der Bedingung werden auch Vektoren akzeptiert und die Bedingung wird dann elementweise ausgewertet. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Schleifen 1 Die While-Schleife hat folgenden Syntax: while (BEDINGUNG){ Anweisungen } Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Schleifen 1 Die While-Schleife hat folgenden Syntax: while (BEDINGUNG){ Anweisungen } 2 Die For Schleife hat folgenden Syntax: for (zähler in vektor){ Anweisungen } Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Aufgabe: While-Schleife Bestimmen Sie mit Hilfe der While-Schleife das n ∈ N, ab dem n X 1 ≥ 10 k k=1 gilt. Aufgabe: For-Schleife Bestimmen Sie mit Hilfe der For-Schleife F (42), wobei F die Fibonacci-Folge mit der Vorschrift F (0) = 0, F (1) = 1 und F (n + 1) = F (n) + F (n − 1) für n ≥ 1 ist. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Pseudo-Zufallszahlen Die gängigsten Verteilungen sind in R bereits implementiert. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Pseudo-Zufallszahlen Die gängigsten Verteilungen sind in R bereits implementiert. Beispielsweise: Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Pseudo-Zufallszahlen Die gängigsten Verteilungen sind in R bereits implementiert. Beispielsweise: Normalverteilung rnorm(n,mu,sigma) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Pseudo-Zufallszahlen Die gängigsten Verteilungen sind in R bereits implementiert. Beispielsweise: Normalverteilung rnorm(n,mu,sigma) Binomialverteilung rbinom(n,m,p) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Pseudo-Zufallszahlen Die gängigsten Verteilungen sind in R bereits implementiert. Beispielsweise: Normalverteilung rnorm(n,mu,sigma) Binomialverteilung rbinom(n,m,p) Gleichverteilung runif(n,a,b) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Pseudo-Zufallszahlen Die gängigsten Verteilungen sind in R bereits implementiert. Beispielsweise: Normalverteilung rnorm(n,mu,sigma) Binomialverteilung rbinom(n,m,p) Gleichverteilung runif(n,a,b) Exponentialverteilung rexp(n,lambda) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Pseudo-Zufallszahlen Die gängigsten Verteilungen sind in R bereits implementiert. Beispielsweise: Normalverteilung rnorm(n,mu,sigma) Binomialverteilung rbinom(n,m,p) Gleichverteilung runif(n,a,b) Exponentialverteilung rexp(n,lambda) Frage: Wie erzeuge ich eine Matrix, die m standardnormalverteilte Stichproben mit Stichprobenumfang n enthält? Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Pseudo-Zufallszahlen Die gängigsten Verteilungen sind in R bereits implementiert. Beispielsweise: Normalverteilung rnorm(n,mu,sigma) Binomialverteilung rbinom(n,m,p) Gleichverteilung runif(n,a,b) Exponentialverteilung rexp(n,lambda) Frage: Wie erzeuge ich eine Matrix, die m standardnormalverteilte Stichproben mit Stichprobenumfang n enthält? samplematrixN=replicate(m, rnorm(n)) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Funktionen Eigene Funktionen lassen sich ebenfalls definieren: Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Funktionen Eigene Funktionen lassen sich ebenfalls definieren:funktionsname <-function(var 1,...,var n) { Anweisungen Rückgabewert } Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Funktionen Eigene Funktionen lassen sich ebenfalls definieren:funktionsname <-function(var 1,...,var n) { Anweisungen Rückgabewert } Beispiel: Notenschlüssel Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Funktionen Eigene Funktionen lassen sich ebenfalls definieren:funktionsname <-function(var 1,...,var n) { Anweisungen Rückgabewert } Beispiel: Notenschlüssel Notenschluessel=function(Notenskala=seq(1,5, by=0.1), Punkte.von, Punkte.bis) { Punkte=seq(Punkte.von,Punkte.bis,length=length(Notenskala)) return(cbind(Punkte,Notenskala)) } Notenschluessel(seq(1,5, by=0.1),80,20) Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Funktionen Aufgabe Programmieren Sie eine Funktion, die eine Anzahl an Sekunden je nach Angabe in eine Anzahl an Minuten, Stunden bzw. Tagen umrechnet. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Übersicht 1 Einführung 2 Datenverarbeitung in R 3 Programmfluss 4 Einlesen und Speichern von Daten 5 Erzeugen von Grafiken Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Einlesen und Speichern von Daten 1 Dataframes lassen sich am einfachsten mit Hilfe der Funtkionen read.table() und write.table() in CSV Dateien lesen bzw. speichern. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Einlesen und Speichern von Daten 1 Dataframes lassen sich am einfachsten mit Hilfe der Funtkionen read.table() und write.table() in CSV Dateien lesen bzw. speichern. 2 Es exitieren diverse Tools um z.B. auf SQL Datenbanken und Excel zuzugreifen. Beispiel: Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Einlesen und Speichern von Daten 1 Dataframes lassen sich am einfachsten mit Hilfe der Funtkionen read.table() und write.table() in CSV Dateien lesen bzw. speichern. 2 Es exitieren diverse Tools um z.B. auf SQL Datenbanken und Excel zuzugreifen. Beispiel: data=read.table("C:\\Users\\Dima\\Documents\\norwegianfire.txt") Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Übersicht 1 Einführung 2 Datenverarbeitung in R 3 Programmfluss 4 Einlesen und Speichern von Daten 5 Erzeugen von Grafiken Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Erzeugen von Grafiken 1 R bietet eine Vielzahl von Möglichkeiten, Daten grafisch darzustellen. 2 Neben den Standardbefehlen können verschiedene spezielle Programmpakete - sogenannte Packages - installiert werden, um das Erstellen von Grafiken zu optimieren. 3 Aus zeitlichen Gründen kann hier jedoch nur auf die Standardbefehle eingegangen werden, die bereits vorinstalliert sind. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken High level und low level Befehle 1 Es gibt in R zwei verschiedene Arten von Grafikbefehlen. 2 High level Befehle erzeugen eine eigenständige Grafik. 3 Low level Befehle ändern fügen einer bereits erstellten Grafik Details hinzu. 4 Daneben gibt es noch den Befehl par(), der die Konfiguration von verschiedenen Grafikparametern erlaubt. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten High level Befehle Beispiele für High level Befehle sind 1 plot(): Erzeugt einen Scatter oder Linien Plot. 2 barplot(): Erzeugt ein Säulen-Diagramm. 3 pie(): Erzeugt ein Kreisdiagramm. Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Aufgabe Erstellen Sie ein Kreisdiagramm mit den Stimmenanteilen der Parteien bei den Landtagswahlen 2011 in Baden-Württemberg sowie ein Balkendiagramm mit den Stimmgewinnen bzw. -verlusten. Dabei sollen die einzelnen Parteien farblich passend markiert werden. Hinweis: Benutzen Sie die Funktionen pie() und barplot() sowie die zugehörige Hilfedateien bei dieser Aufgabe. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten 5 main=”Gewinne/Verluste Landtagswahlen Baw 2011”) Universität Konstanz Einführung in R Erzeugen von Grafiken Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Low level Befehle Beispiele für Low level Befehle sind 1 lines()/points(): Zeichnet Linien bzw. Punkte durch die angegeben Koordinatenpaare. 2 legend(): Erzeugt eine Legende. 3 title(): Fügt Diagrammbeschriftungen hinzu. 4 text(): Fügt der Grafik Textfelder hinzu. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Ausgabe von Grafiken 1 2 Die Ausgabe von Grafiken wird in R durch sogenannte Devices gesteuert. Sollte bei der Ausführung eines high level Befehls kein Device aktiv sein, so wird durch den high level Befehl ein Standarddevice aktiviert. Üblicherweise bedeutet dies, dass die Grafik auf dem Bildschirm ausgegeben wird. X11() (Linux) bzw. windows() (Windows): Die Grafik wird direkt auf dem Bildschrim ausgegeben. png(), pdf(): Die Grafik wird in eine .png oder .pdf Datei ausgegeben. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Beispiel: Ausgabe von Grafiken Wir wollen das Kreisdiagramm zu den Langtagswahlen 2011 in Bawü in einer separaten Datei abspeichern. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Beispiel: Ausgabe von Grafiken Wir wollen das Kreisdiagramm zu den Langtagswahlen 2011 in Bawü in einer separaten Datei abspeichern. pdf(file="H:\\R-Kurs\\Wahl1.pdf",width=12,height=8) Wahl=c(39, 24.2, 23.1, 5, 2.8, 5.6) names(Wahl)=c("CDU","Die Grnen","SPD","FDP","Die Linke","Sonstige") pie(Wahl,col=c("black","green", "red", "yellow", "pink", "grey"), main="Stimmenanteil Landtagswahlen Baw 2011", clockwise=TRUE) dev.off() Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Ausgabe von Grafiken 1 Mit Hilfe der Befehle dev.prev(), dev.next() und dev.set() kann man zwischen verschiedenen Devices hin und herspringen, vgl. Online Hilfe. 2 Durch den Befehl dev.off() wird ein Device wieder geschlossen. Sollte die Ausgabe in eine externe Datei erfolgt sein, z.B. bei png() oder pdf(), wird diese erst jetzt lesbar. 3 Verschiedene Befehle (dev2bitmap, dev.copy2eps(), dev.copy2pdf(), savePlot()) speichern die aktuelle Bildschrimausgabe in einer Datei. Universität Konstanz Einführung in R Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Beispiel: Erstellen einer Gerade (plot01 gerade.R) 20 25 Zufallszahlen (mit gerader Linie) 0 5 10 Linie Signal Verbindungslinien −5 Y−Werte 15 ● 0 5 10 15 20 X−Werte SS2010 Universität Konstanz Einführung in R 25 30 Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Beispiel: Erstellen eines 2 × 2 Balkendiagramms (plot02 balken.R) Balkendiagramm 0 0 5 10 10 Balkendiagramm A B C D A C D 5 0 0 5 10 Balkendiagramm 10 Balkendiagramm B A B C D Universität Konstanz A Einführung in R B C D Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Beispiel: Erstellen eines Funktionsplots (plot04 sinus.R) 0.0 −0.5 −1.0 sin(λ1) 0.5 1.0 Sinus Funktion von 0 bis 2π 0 1 2 3 4 Werte fuer λ1 Universität Konstanz Einführung in R 5 6 Einführung Datenverarbeitung in R Programmfluss Einlesen und Speichern von Daten Erzeugen von Grafiken Beispiel: 2-dim Funktion (plot05 image.R) −2 −1 0 1 2 3 3 2 y −3 −2 −1 0 1 2 −3 −2 −1 y 0 1 2 1 y 0 −1 −2 −3 −3 −3 −2 −1 0 1 2 3 −3 −2 −1 0 1 2 x 2 1 y 0 , outer(x 0 1 2 3 x 3 x −2 x −3 −2 y −1 −1 y, fun) −3 y f(x,y)=sin( x2 + y2 ) 3 f(x,y)=sin( x2 + y2 ) 3 f(x,y)=sin( x2 + y2 ) −3 −2 −1 0 1 2 3 −3 −2 −1 x 0 1 2 3 x Universität Konstanz Einführung in R 3