visualisiert.


R und RStudio Einführung und Installationsanleitung

von Marian Steinbach. Lesezeit: fast 10 Minuten.

In unserer Artikel-Warteschlange liegen einige Entwürfe, die sich speziell auf die Arbeit mit R beziehen. Da vermutlich nicht jeder, den wir hiermit erreichen wollen, R schon kennt oder nutzt, wollen wir hier eine Lanze für R brechen und die Schwelle für den Zugang ein wenig senken. Nach dem Lesen dieses Artikels könnt Ihr hoffentlich folgendes bestätigen:

  • Ihr wisst, was R ist und warum es wert ist, sich damit zu beschäftigen.
  • Ihr habt RStudio erfolgreich installiert.
  • Ihr habt erste kleine Tests erfolgreich nachvollzogen.
  • Ihr seid gewappnet, um weitere Tutorials mitzumachen.

Wenn Ihr jetzt schon keine Lust mehr habt, weiter zu lesen, ist das in Ordnung. Spätestens wenn die ersten Artikel, die sich unserer Pipeline befinden, einmal veröffentlicht werden, werden wir Euch immer wieder auf diesen hier verweisen. Denn sonst habt Ihr ja keine Ahnung, worum es geht. :)

Was ist R?

R ist ein Programm und eine Programmiersprache für die statistische und visuelle Analyse von Daten. R ist freie Software, Teil des GNU Projekts, und wird seit vielen Jahren (das Archiv der Mailingliste reicht zurück bis 1997) aktiv weiterentwickelt.

R steht kompiliert für Linux, Mac OS X und Windows zur Verfügung. Um R hat sich ein reichhaltiges Ökosystem aus freien Erweiterungen gebildet, in dem sich Lösungen für zahlreiche Standardprobleme finden und die im Handumdrehen installiert werden können.

Programmiersprache?

Ja, ganz recht. R verfolgt den Ansatz, dass alle Funktionalitäten wie z.B. der Import von Daten, die Manipulation von Daten und die Visualisierung, durch Programmcode aufgerufen werden. Damit lassen sich in R auch Programme schreiben, die komplexere Vorgänge wiederholbar machen.

Damit unterscheidet sich die Arbeit in R recht deutlich beispielsweise von Tabellenkalkulationen wie Excel. Vom Nutzer wird eine höherer Wille zur Abstraktion verlangt. Dafür wird dieser auch mit einem Funktionsumfang belohnt, der sich ständig erweitert und der in vielen Bereichen Anwendungen wie Microsoft Excel weit überlegen ist. Ganz zu schweigen davon, dass R die Möglichkeit bietet, selbst Erweiterungen zu schreiben.

Was kann R nicht?

Wenn R so toll ist, warum machen wir dann nicht einfach alles damit? Nun, ein paar Sachen macht R eben dann doch nicht so, dass es in jedem Fall allen Ansprüchen gerecht werden kann. Ein Aspekt ist, dass Visualisierungen aus R gut statisch als Pixel- oder Vektorgrafiken abgespeichert werden können. Möchte man aber eine interaktive Anwendung realisieren, bei der zum Beispiel durch Nutzerinteraktion bestimmt wird, wie eine Visualisierung auszusehen hat, lässt sich R nur sehr schwer integrieren. Zusätzlich kann man sagen, dass die Darstellungsqualität beispielsweise eines Scatterplots zwar den meisten wissenschaftlichen Anwendern genügt, aber nicht die höchsten Ansprüche eines Informationsdesigners erfüllt.

Wofür braucht man R denn nun?

R ist ein hervorragendes Werkzeug für die schnelle Erkundung von Daten, aber auch für die tiefere Analyse und das Verständnis von Zusammenhängen. Damit dient R der Annäherung an ein Gebiet genau so wie der tieferen Untersuchung. Will man beispielsweise auf Basis eines Datensatzes eine interaktive Visualisierung erstellen, dann kann es sehr sinnvoll sein, sich die Daten einmal in näher in Form von konventionelleren Darstellungen anzusehen. Und hier eignet sich R in vielen Fällen hervorragend.

Installation

Damit wir uns nun etwas handfester mit R befassen können, müssen wir es zunächst mal installieren.

Um uns die Arbeit mit R so angenehm wie möglich zu machen, installieren wir zusätzlich zu R auch RStudio. RStudio ist ein GUI für R, das einige nützliche Zusatzfunktionen bietet. Wie R, steht auch RStudio für Windows, Linux (Ubuntu, Debian, Fedora) und Max OS X bereit.

Angehenden Nutzern von RStudio stehen zwei verschiedene Versionen der Software zur Verfügung. Einerseits die Desktop-Variante, die normalerweise allen Nutzern gerecht werden sollte, die die Herrschaft über ihren eigenen Rechner haben und über ausreichende Ressourcen verfügen. Alternativ gibt es auch eine Server-Version, die sich besonders für Arbeitsgruppen und Thin-Clients eignet. Die Server-Version läuft auf Linux und wird über ein Web-Interface bedient.

Wir erläutern hier die Installation der Desktop-Version ausführlich für Mac OS X und Ubuntu Linux. (Wenn Lust hat, uns in dieser Form auch die Installation unter Windows zu dokumentieren, veröffentlichen wir das hier gerne ebenfalls. Bitte als Kommentar posten.)

Installation von RStudio Desktop auf Mac OS 10.7

  1. Wir wählen auf cran.r-project.org/mirrors.html einen Download-Server in der Nähe, z.B. mirrors.softliste.de/cran/.
  2. Wir folgen dem Link Download R for MacOS X.
  3. Wir laden den Installer (aktuell R-2.13.2.pkg) herunter.
  4. Nach dem Herunterladen führen wir den Installer aus und folgen den Anweisungen. Damit ist R installiert.
  5. Nun installieren wir RStudio. Wenn wir am Mac auf rstudio.org/download/desktop gehen, bekommen wir direkt den einzig sinnvollen Download zuoberst angezeigt. Aktuell ist das RStudio-0.94.110.dmg
  6. Nach dem Herunterladen des Disk Images öffnen wir dieses durch Doppelklick.
  7. Wir ziehen per Drag-and-Drop das Applikationsicon “RStudio” in den Ordner “Anwendungen” bzw. “Applications”.
  8. Das war’s. Nun können wir RStudio über Spotlight, Launchpad oder was auch immer aufrufen.

Installation von RStudio Desktop auf Ubuntu Linux

  1. Zuerst prüfen wir mal, ob R zufällig schon installiert ist. Dazu öffnen wir ein Terminalfenster (Anwendungen / Zubehör / Terminal) und führen den Befehl “which R” aus. Wenn wir hierzu keine Antwort bekommen, muss R installiert werden (weiter mit Schritt 2). Kommt eine Ausgabe wie “/usr/bin/R”, dann ist R bereits vorhanden und es geht weiter mit Schritt 9.
  2. Wir gehen auf cran.r-project.org/mirrors.html und wählen einen Download-Server in unserer Nähe.
  3. Das führt uns beispielsweise zu mirrors.softliste.de/cran/, wo wir den Link Downlaod R for Linux anklicken.
  4. Wir wählen den Ordner Ubuntu.
  5. Als nächstes wählen wir unsere Ubuntu-Version (die findet man unter “System > Info zu Ubuntu” im GNOME-Menü heraus), z.B. natty.
  6. In dem Ordner scrollt man bis zu den Dateien, deren Name mit “r-base-core” anfängt und mit “.deb” aufhört. Dort hat man auch die Qual der Wahl zwischen einer 32bit-Version (Kürzel “i386″) und 64bit (“amd64″). Wir entscheiden uns für r-base-core_2.13.2-1natty0_amd64.deb, weil unser Ubuntu ein 64-bit-System ist.
  7. Nach abgeschlossenem Download der Datei navigieren wir im GNOME-Fenster zu der heruntergeladenen Datei, klicken sie mit der rechten Maustaste an und wählen aus dem Kontextmenü die Option “Mit Ubuntu Software-Center öffnen”.
  8. Im Software-Center werden Details zum heruntergeladenen Paket angezeigt. Optional können Erweiterungen dazu ausgewählt werden. Dann klicken wir auf “Installieren”.
  9. Nun laden wir RStudio Desktop herunter. Dazu gehen wir auf rstudio.org/download/desktop, wo uns freundlicherweise passende Downloads empfohlen werden. Wir klicken den Download-Link für die Ubuntu-/Debian-Version.
  10. Auch hier klicken wir nach abgeschlossenem Download mit der rechten Maustaste auf das Datei-Icon und wählen “Mit Ubuntu Software-Center öffnen”
  11. Im Fenster des Software-Centers klicken wir auf “Installieren”.
  12. Das sollte es gewesen sein. Wir können nun RStudio über “Anwendungen / Software-Entwicklung / RStudio” starten.

Wer danach das Programm startet, dem präsentiert sich RStudio so:

Erste Schritte

Im RStudio Programmfenster auf der linken Seite befindet sich die Konsole. Hier geben wir alle Anweisungen an R ein.

Auf der rechten Seite des Programmfensters befinden sich mehrere Panele, deren Bedeutung wird jetzt noch nicht zwingend kennen müssen.

Wir brauchen Beispieldaten. R liefert zahlreiche Datensammlungen von Haus aus mit. Um alle verfügbaren anzuzeigen, geben wir in der Konsole einfach diesen Befehl ein und bestätigen mit Enter/Return:

> data()

(Achtung: Die spitze Klammer vor dem Befehl darf nicht mit eingegeben werden. Sie dient hier nur dazu, anzuzeigen, wo ein Kommando beginnt.)

Als Ergebnis öffnet sich oberhalb der Konsole dieses Panel mit dem Titel “R data sets”:

In der Liste befinden sich Datensätze unterschiedlichster Komplexität. Wir laden einen eher einfachen namens “airquality”. Dabei handelt es sich offenbar um Ozon-Messwerte aus New York.

> data(airquality)

Nach dem Bestätigen durch Enter/Return erscheint im Workspace-Panel oben rechts eine neuer Eintrag mit dem Namen “airquality” und der Beschreibung “153 obs. of 6 variables”.

Das Workspace-Panel enthält alle Objekte, mit denen wir im weiteren Verlauf arbeiten können. Objekte haben Namen, und das neu angelegte Objekt heißt “airquality”. Unter diesem Namen können wir es von nun an verwenden. Die Beschreibung sagt uns, dass es sich um eine zweidimensionale Datenstruktur mit 153 Beobachtungen von jeweils 6 Variablen handelt. Mit anderen Worten: Es ist eine Tabelle mit 6 Spalten und 153 Zeilen.

Aber wie sieht diese Tabelle tatsächlich aus? Ein Klick auf den Eintrag führt zur Anzeige der gesamten Daten im oberen linken Panel.

Jede der sechs Spalten ist mit dem Namen einer Variable beschriftet. Die einzelnen Zeilen enthalten entweder numerische Were oder das kürzel “NA”, was für “not available”, also ein leeres Feld, steht.

Wenn wir uns nun die Konsole ansehen, können wir sehen, dass dort ein Befehl “View(airquality)” hinzugekommen ist, den wir nicht selbst eingegeben haben. Diesen Befehl hat RStudio ausgeführt, als wir auf den Eintrag im Workspace-Panel geklickt haben. “View()” ist eine der Standardfunktionen von R, um eine Datenstruktur anzuzeigen. RStudio leitet diese Ausgabe in eine übersichtliche Tabelle um.

Nun wollen wir ein wenig über unsere Daten herausfinden. R bietet mehrere eingebaute Funktionen, die uns hierfür behilflich sein können. Probieren wir doch mal

> summary(airquality)

Als Ausgabe erhalten wir, diesmal direkt in der Konsole, diese Zusammenfassung:

Die summary-Funktion liefert uns für jede der sechs Variablen in airquality den kleinsten und größten Wert, das erste und dritte Quartil, den Median, den Durchschnittswert und die Anzahl der NA-Werte. So können wir beispielsweise sehen, dass die Ozon-Messwerte zwischen 1 und 168 (vermutlich µg/m³) und der Median bei 31,5 liegen.

Um mehr über die Verteilung oder die Zusammenhänge zu erfahren, können wir uns die Ozonwerte als Histogramm darstellen lassen. Dazu führen wir diesen Befehl in der Konsole aus:

> hist(airquality$Ozone)

Die Dollar-Schreibweise “airquality$Ozone” bedeutet, dass wir die Variable mit dem Namen “Ozone” aus der Datenstruktur mit dem Namen “airquality” auswählen.

Das Ergebnis:

Wir möchten nun wissen, wie sich Temperatur und Ozonwerte im Vergleich verhalten. Wir können ganz einfach beide Variablen in einem Scatterplot darstellen:

> plot(airquality$Temp, airquality$Ozone)

stellt auf der X-Achse die Temperatur und auf der Y-Achse den Ozonwert dar. Das sieht so aus:

Der Scatterplot zeigt, dass bei höheren Temperaturen auch die Ozonwerte höher sind.

Wie geht es weiter?

Ihr wart hoffentlich in der Lage, diese Einführung nachzuvollziehen. Damit sollte Euch die Tür für weiteres Arbeiten mit R offen stehen. Hier noch ein paar Tipps, wie Ihr weiteren Input und Hilfestellung finden könnt.

Die Help-Funktion in R bietet Euch jederzeit über die Konsole von R Zugriff auf die Erläuterung aller Funktionen. Gebt beispielsweise help(plot) an der Konsole ein, um mehr über die Parameter der plot-Funktion zu erfahren.

Die Website Quick-R ist ein umfangreiches R-Tutorial in englischer Sprache. Wenn man die eigenwillige Navigation mal akzeptiert hat, kann man hier viele gute und hilfreiche Beispiele finden. Dort erfahrt Ihr zum Beispiel, wie Ihr eigene Daten in R importieren könnt und Erweiterungen installiert.

Zum Stichwort Datenimport: Ich persönlich finde das RMySQL Modul unglaublich hilfreich, da ich Daten häufig lokal in MySQL ablege. RMySQL erlaubt das Importieren von Datenstrukturen anhand beliebiger SQL-Statements. Die Installation geht einfach an der Konsole mit “install.packages(‘RMySQL’)”, danach zur Verwendung Aktivieren mit “library(‘RMySQL’)”.

Wer nicht allzu schnell an die Grenzen von R stoßen möchte, was Visualisierung mit Graphen betrifft, oder einfach nur ästhetisch sensibel ist, dem hilft das Package ggplot2. Darin sind viele zusätzliche Funktionen zur Erstellung von Graphen enthalten, sowie einige Standardfunktionen von R noch mal “in schön” implementiert.

Das soll nun wirklich reichen.

Wenn Ihr Feedback oder andere Kommentare hierzu loswerden wollt, nur zu! Wir freuen uns über jeden Beleg dafür, dass Ihr bis hier hin drangeblieben seid!

Zum Autor

Marian Steinbach ist freiberuflicher User Experience Designer mit einer Leidenschaft für Datenvisualisierung. Mehr von ihm gibt es unter sendung.de, @MarianSteinbach und auf G+.

@marian
www.sendung.de/

  • http://uxzentrisch.de/author/tobias Tobias

    Vielen Dank! Das Tutorial ist wirklich hervorragend nachzuvollziehen. Leider ist die Einstiegshürde immer noch recht groß – aber das ändert sich dann hoffentlich, wenn es weitere Tutorial gibt :-).

    • http://www.sendung.de/ Marian Steinbach

      @Tobias Freut mich! Bis es so weit ist, kannst du dich ja ein wenig bei Quick-R umsehen. Und falls doch noch irgendwas unklar sein sollte, meld dich!

  • http://twitter.com/stefankasberger Stefan Kasberger

    feines Tutorial. Habe die letzten Wochen den MOOC Computing for Data Analyses von Roger D Peng gemacht und den Sourcecode von R auf GitHub gestellt. Könnte zum nachmachen und einsteigen recht hilfreich sein – wie an sich der kleine Kurs sehr gut war.
    https://github.com/skasberger/computing-for-data-analyses-course

    greetz, stefan

    • http://twitter.com/MarianSteinbach Marian Steinbach

      Danke für die Rückmeldung und den Link!

  • Mtin

    Super Einstieg! Habe bisher viel mit R rumprobiert, aber bin nie so recht in Gang gekommen, weil die Beispiele immer zu Fehlermeldungen führten. Hier gibt es ein einfaches Beispiel, ohne dass man die Zahlen selber eingeben muss. Die Befehle stimmen und die Resultate zeigen sich wie erhofft.
    Vielen Dank aus Norwegen :-)

  • Veh lix

    gutes Tutorial, nachvollziehbar und verständlich!

  • Katharina Back

    1000 Dank, Marian. Hast mir als völliger Neueinsteigerin in Sachen Programmieren und Statistik das fehlende Puzzleteilchen geliefert, um weiter zu kommen! (Wer hätte damit gerechnet, dass sie einem im Psychologiestudium gleich zu Beginn sowas um die Ohren hauen…?!)
    Liebe Grüsse aus Tübingen,

    Katharina