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:
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)