Seit etwa einem Jahr, benutze ich R zur Analyse und Darstellung von Daten. R ist sowohl eine “Benutzer-Umgebung” als auch eine Programmiersprache (genauer ein Dialekt der Sprache S).
Mit Benutzer-Umgebung meint man, dass bestimmte (sehr viele) Analyse- und graphische Darstellungstechniken bereits für den Benutzer zur Verfügung gestellt werden und von einer Kommandozeile aus einfach ausgeführt werden können. Der Vorteil einer Programmiersprache liegt auf der Hand: Vom fortgeschrittenen Benutzer können bestehende Techniken modifiziert und erweitert werden.

Um R zu nutzen muss man also kein Programmierer sein! Um wirklich saubere oder gar elegante Analysen aus den uneinheitlichen Datensätzen, die man sie in der Realität antrift, zu erstellen sind aber einige Programmier-Techniken und ein Verständnis der Sprache sehr hilfreich. Oder positiver formuliert: R fördert den Übergang vom Nutzer zum Programmierer.

Für den Einstieg (als Nutzer) in R gibt es nun viele gute Bücher, die meisten zeigen, dem Hintergrund der Sprache entsprechend, die Benutzung von statistischen Methoden (beispielsweise hier eine unvollständige Bücher-Listen zu dem Thema).
Die beiden Büchern aus der Springer “Use R!”-Serie , die mir in den letzen Monaten besonders geholfen haben verfolgen einen etwas anderen Ansatz:

1. Data Manipulation with R

Das Buch behandelt zunächst sehr ausführlich die in R möglichen Datenstrukturen, ein für alle weiteren Techniken absolut notwendiges Basiswissen. Sehr hilfreich ist auch die Erklärung von regulären Ausdrücken in R. Man benutzt diese beispielsweise um aus Zeichenfolgen (strings) gewünschte oder unerwünschte Elemente zu entfernen. So kann man beim Import von Daten aus einem Tabellenkalkulator beispielsweise unerwünschte “Zusatz-Schrift-Information” aus Spalten entfernen, die nur Zahlen enthalten sollten.
Am hilfreichsten dann das Kapitel zur Umstrukturierung von Daten. Für R-Anfänger ist es nämlich häufig ein großes Problem, die in der umfangreichen Dokumentation dargestellten Beispiele mit eigenen Daten nachzuvollziehen. Sehr häufig hat man zwar eine tolle Methode zur Analyse oder Darstellung identifiziert, erhält aber einen Error oder 100 Warnings, wenn man in das Beispiel auf der Anleitungsseite die eigenen Daten einsetzt. In solchen Fällen ist immer das Format der eigenen Daten (meist in Form eines data.frames) schuld und man sollte untersuchen wie sich dieses von der Datenstruktur im Beispiel unterscheidet. Dabei hilft das angesprochene Basiswissen, bei der notwendigen Umformung dann das das Umstrukturierungs-Kapitel. Beim Erstellen von Daten-Zusammenfassungen für die Verwendung in einem Textdokument wird man das Kapitel häufig nochmals aufschlagen, dazu aber mehr wenn ich mal die Zeit finde über die Pakete Sweave und xtables zu schreiben.

2. Lattice – Multivariate Data Visualization with R:

Selbst für einen erklärten Fan von Text-basiertem Arbeiten an einer Kommandozeile ist es ein schöner Anblick einen unübersichtlich erscheinenden Datensatz in einer übersichtlichen Grafik darzustellen. Davon, dass dies eine der Stärken von R ist, kann man sich in der R Graphik-Galerie überzeugen.
Das Lattice Paket ist ein “High-Level” Grafik-System, das sich vom klassischen R-Grafiksystem für den Benutzer vor allem dadurch abhebt, dass multivariate Datensätze (Daten die durch unterschiedliche Faktoren in verschiedene Gruppen eingeteilt werden) leicht darzustellen sind. “High-Level” bedeutet, dass aufgrund von intelligenten Standardeinstellungen durch wenig Code tolle Ergebnisse erzielt werden können.
Wer sich davon selbst überzeugen will sollte in einer R-session

> library(lattice)
> example(xyplot)

ausführen und sich ein Feuerwerk an Code und Grafiken aus den Beispielen der zentralen Anleitungsseite des Pakets anschauen.

Der komplette Code des Buches und die resultierenden Graphiken finden sich online und man baucht beim Durchsehen sicher nicht viel Phantasie um festzustellen, dass der ein oder anderen Plot sich auch für einen der Datensätze eignet mit denen man selbst oder Kollegen arbeiten (war zumindest bei mir so). Der sonstige Text (nicht online) des Buches hilft dem “Code-Kopierer” dann sehr beim Verständnis und den notwendigen kleinen Änderungen beim Darstellen der eigenen Daten.
So führt dann (hoffentlich) das Spielen mit bunten Bildern zu einem besseren Verständnis der Sprache insgesamt. Mir fiel es leichter durch die panel-Funktion einige der Grundprinzipien von Funktionen in R zu verstehen als durch die mathematischeren Beispiele anderer Bücher.

Kommentare (5)

  1. #1 Bernd
    September 19, 2009

    Zwei Anmerkungen/Ergänzungen:

    (1) Die Überschrift “Zwei ideale Bücher zum Einstieg in R” kommt mit einem gewissen Absolutheitsanspruch daher. Meine “idealen” Bücher sähen anders aus — obgleich ich beide besitze und beide gut finde; vor allem den Spector. Soziologiestudierenden, die häufig wenig EDV-affin sind, würde ich sie nicht zur Einführung empfehlen.

    (2) Bis zum Aufkommen von ggplot2 haben ich auch auschließlich Lattice (Link auf die Seite des Autors) genutzt; ich nutze es auch jetzt noch, wenn ich mir mit möglichst wenig Tipperei einen ersten Eindruck von Daten verschaffen möchte. Für publikationsreife Graphiken nutze ich aber inzwischen das oben erwähnte ggplot2. Auch ggplot2 hat seine Tücken (teilweise arg langsam), doch es ist in meinen Augen das konsistentere, logischere Paket, das einen nachvollziehbaren theoretischen (Grammar of Graphics) Hintergrund hat.

  2. #2 rolak
    September 19, 2009

    Da habe ich mir vorsichtshalber mal ein Lesezeichen eingelegt – im Moment nicht akut, aber wer weiß…

    Diese fundierte Hilfe zur Selbsthilfe 😉 ist für mich ein wichtiger Bestandteil der SB, neben dem allgemeineren Anspruch der Wissenschafts-Kommunikation.

  3. #3 N.N.
    September 19, 2009

    Sweave erscheint mir als ein wirklich guter Tipp.

    http://www.stat.uni-muenchen.de/~leisch/Sweave/

    “Sweave is a tool that allows to embed the R code for complete data analyses in latex documents.”

    Dieses Werkzeug hätte mir vor gut zehn Jahren für eine Diplomarbeit eine Menge Arbeit erspart.

    “The report can be automatically updated if data or analysis change, which allows for truly reproducible research.”

    Der letzte Punkt dürfte ein erheblicher sein.

    Wo für “truly reproducible research” Sweate nicht ausreichen sollte, sei für weitere Vorarbeiten ein Hinweis auf “make” und dessen Alternativen erlaubt. http://de.wikipedia.org/wiki/Make

  4. #4 Emanuel Heitlinger
    September 20, 2009

    Mit 1) hast du natürlich Recht Bernd! Eigentlich sollte statt “Einstieg” “für meinen Momentanen Wissens- und Verständnis-stand” und statt “ideal” “gut geeignet” in der Überschrift stehen.
    Danke für den Tipp in 2)!

    Auf Sweave bin ich übrigens durch Bernd aufmerksam geworden, wer sich näher damit beschäftigen will sollte in jedem Fall auf seinem blog vorbeischauen!

  5. #5 Uwe
    Oktober 24, 2011

    Ich hab mir beide Bücher mal genauer angesehen, da ich mich in den nächsten Monaten verstärkt mit der Materie auseinandersetzen werde/muss. Vielen Dank für die Empfehlungen, ich denke ich werde mit dem “Data Manipulation with R” beginnen da es auch sehr viel Basiswissen vermitteln zu scheint.