Skip to main content

2008 | Buch

Programmieren mit R

insite
SUCHEN

Über dieses Buch

R ist eine objekt-orientierte und interpretierte Sprache und Programmierumgebung für Datenanalyse und Grafik. Ziel dieses Buches ist es, nicht nur ausführlich in die Grundlagen der Sprache R einzuführen, sondern auch ein Verständnis der Struktur der Sprache zu vermitteln. Leicht können so eigene Methoden umgesetzt, Objektklassen definiert und ganze Pakete aus Funktionen und zugehöriger Dokumentation zusammengestellt werden. Die enormen Grafikfähigkeiten von R werden detailliert beschrieben. Die dritte Auflage des Buches ist an die vielen Verbesserungen und Neuerungen bis R-2.7.1 angepasst worden und enthält weitere von Lesern gewünschte Ergänzungen. Das Buch richtet sich an alle, die R als flexibles Werkzeug zur Datenenalyse und -visualisierung einsetzen möchten: Studierende, die Daten für ihre Diplomarbeit analysieren möchten, Forschende, die neue Methoden ausprobieren möchten, und diejenigen, die in der Wirtschaft täglich Daten aufbereiten, analysieren und anderen in komprimierter Form präsentieren.

Inhaltsverzeichnis

Frontmatter
1. Einleitung
Zusammenfassung
R: A Language for Data Analysis and Graphics“, so lautet der Titel des Artikels von Ihaka und Gentleman (1996). Bei R handelt es sich um eine Open Source Software und eine hochflexible Programmiersprache und -umgebung für (statistische) Datenanalyse und Grafik, die auch Mittel zum Technologie und Methodentransfer, etwa mit Hilfe von Zusatzpaketen, bereitstellt. Es gibt Datenzugriffsmechanismen für Textdateien, Binärdateien, R Workspaces, Datensätze anderer Statistiksoftware und Datenbanken. Abbildung 1.1 zeigt eine laufende R Sitzung unter Windows.
Uwe Ligges
2. Grundlagen
Zusammenfassung
Dieses Kapitel widmet sich den Grundlagen, wobei der Einstieg über die intuitive Benutzung von R als ”Taschenrechner“ erfolgt (Abschn. 2.1). Zuweisungen und Objekte (Abschn. 2.2–2.3) sind von fundamentaler Bedeutung in jeder Sprache. Die Benutzung von Hilfe (Hilfeseiten, Handbücher, weiterführende Literatur usw., s. Abschn. 2.4) ist nicht nur zum Erlernen von R, sondern auch in der täglichen Anwendung von zentraler Bedeutung. Die in Abschn. 2.5 gezeigte Beispielsitzung soll durch implizites Kennenlernen von Funktionalität Interesse an den im Anschluss eingeführten weiteren Grundlagen der Sprache wecken.
Uwe Ligges
3. Ein- und Ausgabe von Daten
Zusammenfassung
Wer R als Werkzeug für Datenanalyse einsetzen will, muss diese Daten zunächst einmal einlesen und vermutlich andere Daten wieder ausgeben. In der Praxis wird man mit Datensätzen konfrontiert, die in den verschiedensten Formaten vorliegen. R bietet die Möglichkeiten für den Zugriff auf sehr viele Formate, wie z.B. Textdateien (im ascii Format, Abschn. 3.1), Binärdateien (Abschn. 3.2), R Dateien (Abschn. 3.3) und Datenbanken (Abschn. 3.5), aber auch die Möglichkeit, eigene Import- und Exportfunktionen zu schreiben (Abschn. 3.4).
In der Praxis begegnet man recht häufig Dateien, die im Format des Produkts Excel der Firma Microsoft gespeichert sind. Zwar gibt es in R keine direkte Import- bzw. Exportfunktionen für dieses Format, dafür gibt es aber je nach Situation einige mehr oder weniger komfortable Umwege, die in Abschn. 3.6 beschrieben werden.
Wenn es Probleme beim Einlesen und Ausgeben von Daten gibt, hilft das Handbuch ”R Data Import/Export“ (R Development Core Team, 2008b) weiter.
Uwe Ligges
4. Die Sprache im Detail
Zusammenfassung
Grundlagen für das interaktive Arbeiten mit R wurden in den ersten Kapiteln vermittelt. In diesem Kapitel werden Details zur Sprache beschrieben, deren Kenntnis zum Schreiben eigener Funktionen, Simulationen und Pakete notwendig oder zumindest von Vorteil ist. Dabei sind neben einer formalen Einführung von Funktionen (s. Abschn. 4.1) vor allem die Regeln der Lazy Evaluation (verzögerte Auswertung, s. Abschn. 4.2) und die Regeln zu Environments (Umgebungen, s. Abschn. 4.3) wesentlich, da deren Ausnutzung nützlich ist, ihre Missachtung aber zu überraschenden Fehlern führen kann. Ein wesentlicher Bestandteil des Programmierens ist das Auffinden und Beseitigen von Fehlern (s. Abschn. 4.4), die gerade bei längeren Funktionen unvermeidlich sind, aber auch der Umgang mit zu erwartenden Fehlern. Die Abschnitte 4.5 zur Rekursion, 4.6 zum Umgang mit Sprachobjekten und 4.7 zum Vergleich von Objekten runden das Kapitel ab.
Uwe Ligges
5. Effizientes Programmieren
Zusammenfassung
Vektorwertiges Programmieren möge der Leser als Gesetz ansehen! Warum das so ist, wird sich im weiteren Verlauf dieses Kapitels zeigen.
Sowohl die Funktionen, die man sehr häufig verwenden oder veröffentlichen möchte, als auch diejenigen, die mit großen Datenbeständen oder als Bestandteil von (z.T. längeren) Simulationen großen Einfluss auf die Rechenzeit haben, sollten hinsichtlich ihrer Geschwindigkeit und ihres Speicherverbrauchs optimiert werden. Der Begriff ”Effizienz“ wird von der Informatik geprägt und wird für Algorithmen und Programme verwendet, die für kaum weiter optimierbar gehalten werden.
Uwe Ligges
6. Objektorientiertes Programmieren
Zusammenfassung
Objektorientiertes Programmieren, kurz oop, ist inzwischen in sehr vielen Sprachen möglich. Zwei Fakten zu R sind aus den ersten Kapiteln bekannt. Zum einen ist alles ein Objekt (jegliche Art von Daten und Funktionen, s. auch Abschn. 2.3), zum anderen handelt es sich um eine objektorientierte Sprache.
Objektorientiert Programmieren bedeutet, dass eine generische Funktion für verschiedene Klassen von Objekten jeweils angepasste Methoden mitbringen kann. Der Vorteil ist, dass der Benutzer nicht viele Funktionen für verschiedene Objektklassen kennen muss, sondern einfach die generische Funktion benutzen kann, ohne Details zur Objektklasse zu kennen.
Uwe Ligges
7. Statistik mit R
Zusammenfassung
Bei R handelt es sich um eine ”Sprache und Umgebung für Statistisches Rechnen“ (R Development Core Team, 2008a). Ein Kapitel über die Anwendung statistischer Verfahren mit R darf und soll in diesem Buch nicht fehlen. Der Fokus des Buches ist jedoch auf die Programmierung mit R gerichtet, und es soll in erster Linie das Verständnis der Sprache vermittelt werden. Daher werden nur häufig verwendete und wichtige Verfahren kurz erklärt sowie syntaktische Feinheiten der Modellspezifikation beschrieben.
Die Theorie der meisten hier erwähnten statistischen Verfahren kann bei Hartung et al. (2005) nachgeschlagen werden. Einen genaueren und umfassenderen Überblick über die Umsetzung statistischer Verfahren in R gibt es in dem darauf spezialisierten Buch ”Modern Applied Statistics with S“ (Venables und Ripley, 2002) sowie in ”A Handbook of Statistical Analysis Using R“ (Everitt und Hothorn, 2006).
Uwe Ligges
8. Grafik
Zusammenfassung
Ihaka und Gentleman (1996) beschreiben R mit dem Titel ”R: A Language for Data Analysis and Graphics“ und auch Becker und Chambers (1984) schrieben schon von ”S, an Interactive Environment for Data Analysis and Graphics“. Demnach liegt eine der besonderen Stärken von R im Grafikbereich. Es ist nicht nur möglich, explorative Grafiken für die interaktive Analyse von Daten sehr schnell und einfach zu erstellen, sondern auch Grafiken sehr hoher Qualität für Publikationen oder Präsentationen zu erzeugen. Als Programmiersprache besitzt R die Fähigkeit, Grafikproduktion zu automatisieren. So können viele Grafiken desselben Typs ohne Eingreifen des Benutzers erzeugt werden, z.B. zur täglichen Zusammenfassung von Berechnungen auf einer Web-Seite. Murrell (2005), der Autor der R Grafik Systeme, widmet dem Thema ein ganzes Buch mit vielen Beispielen.
Uwe Ligges
9. Erweiterungen
Zusammenfassung
In diesem Kapitel wird erläutert, wie man Quellcode einbindet (Abschn. 9.1) und die Integration von anderen Programmen in R bzw. R in andere Programme (Abschn. 9.2) erreicht. Auch Erklärungen zu dem Batch Betrieb (Abschn. 9.3) und zu Interaktionen mit dem Betriebssystem (Abschn. 9.4) werden gegeben.
Uwe Ligges
10. Pakete
Zusammenfassung
Eine große Anzahl Pakete für die verschiedensten Anwendungsgebiete ist inzwischen für R verfügbar. Pakete sind Erweiterungen für R, die zusätzliche Funktionalität (Funktionen, Datensätze usw.) bereitstellen. Zurzeit sind das über 1400 Pakete, darunter die Basis-Pakete, die empfohlenen Pakete, die riesige Menge der cran Pakete, Pakete der Projekte Omega (Temple Lang, 2000) und BioConductor sowie eine ganze Reihe weiterer Pakete.
Uwe Ligges
Backmatter
Metadaten
Titel
Programmieren mit R
verfasst von
Uwe Ligges
Copyright-Jahr
2008
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-540-79998-6
Print ISBN
978-3-540-79997-9
DOI
https://doi.org/10.1007/978-3-540-79998-6

Premium Partner