R für Dummies. Andrie de Vries
ohne dass Sie eine Schleife programmieren müssen.
Lassen Sie uns das mit richtigem R-Code illustrieren. Zunächst weisen wir die Werte 1:5
einem Vektor zu, den wir x
nennen:
> x <- 1:5
> x
[1] 1 2 3 4 5
Anschließend addieren wir zu jedem Element des Vektors x
den Wert 2
und geben das Ergebnis aus:
> x + 2
[1] 3 4 5 6 7
Sie können auch zwei Vektoren addieren. Um die Werte 6:10
elementweise zu x
zu addieren, geben Sie ein:
> x + 6:10
[1] 7 9 11 13 15
In den meisten anderen Programmiersprachen würden diese Operationen eine explizite Schleife erfordern, die die Addition elementweise durchführt.
Diese Eigenschaft ist äußerst hilfreich, da sie Ihnen ermöglicht, viele Operationen in einem einzigen Schritt auszuführen. In anderen Sprachen, die nicht vektororientiert sind, müssten Sie Schleifen programmieren, um dasselbe zu erreichen.
Wir stellen das Konzept der Vektoren in Kapitel 2 vor und vertiefen Vektoren und Vektorisierung gründlich in Kapitel 4.
Mehr als nur statistische Berechnungen
R wurde von Statistikern entwickelt, um statische Berechnungen zu vereinfachen. Dieses Erbe besteht fort: R ist immer noch ein sehr leistungsstarkes Werkzeug, um praktisch jede statistische Berechnung durchzuführen.
Je mehr sich R über seine Ursprünge in Statistik hinaus entwickelte, zog es immer mehr Programmierer als reine Statistiker an. Aus diesem Grund ist R sehr geeignet für eine Reihe nicht statistischer Aufgaben. Dazu gehören Datenbearbeitung, grafische Visualisierung und Analysen aller Art. Aktuell wird R in den Bereichen Finanzmathematik, Sprachverarbeitung, Genetik, Biologie und Marktforschung verwendet, um nur einige zu nennen.
R ist Turing-vollständig . Dies bedeutet, Sie können damit alles programmieren, was Sie wollen. (Das wird allerdings nicht immer einfach sein.)
Für dieses Buch nehmen wir an, dass Sie die Programmierung mit R erlernen wollen, und nicht Statistik. Dennoch enthält Teil IV eine Einführung in Statistik.
Code ohne Compiler ausführen
R ist eine interpretierte Sprache , Sie benötigen also – im Gegensatz zu kompilierten Sprachen wie Java oder C – keinen Compiler, der aus Ihrem Code erst ein ausführbares Programm erstellt, bevor Sie es verwenden können. R interpretiert den von Ihnen vorgegebenen Code und wandelt ihn in Aufrufe vorkompilierter Funktionen um.
In der Praxis bedeutet dies, dass Sie einfach Ihren Code schreiben und an R senden, wo er direkt ausgeführt wird. Dies vereinfacht den Entwicklungszyklus enorm. Diese Bequemlichkeit gibt es jedoch nicht ganz umsonst. Die Ausführung des Codes dauert etwas länger. Interpretierte Sprachen sind meist langsamer als kompilierte.
Wenn Sie bereits Erfahrung mit anderen Sprachen haben, führen Sie sich bitte immer wieder vor Augen, dass R nicht C oder Java ist. Obwohl Sie R wie eine prozedurale Sprache – wie C – oder wie eine objektorientierte Sprache – wie Java – verwenden können, entspricht R dem Paradigma der funktionalen Programmierung. Wie Sie später in diesem Buch, insbesondere in Teil III, sehen werden, erfordert dieses Paradigma eine veränderte Sichtweise. Vergessen Sie, was Sie über andere Sprachen wissen, und machen Sie sich auf etwas komplett Neues gefasst!
Kapitel 2
R erkunden
IN DIESEM KAPITEL
Passende Editoren kennenlernen
R starten
Das erste R-Skript schreiben
Sich im Arbeitsbereich (englisch workspace) zurechtfinden
Damit Sie mit R arbeiten können, benötigen Sie einen passenden Editor. Ihre Wahl wird auch vom Betriebssystem abhängen, da R von Haus aus keinen für alle Systeme geeigneten grafischen Editor hat. Die Basisinstallation umfasst folgende Editoren:
Windows: Ein sehr einfacher R-Editor namens RGui.
macOS X: Ein sehr einfacher R-Editor namens R.app.
Linux: Es gibt keinen speziellen R-Editor, jedoch können Sie zum Erstellen von R-Code jeden Editor (wie Vim oder Emacs) verwenden. R selbst ist standardmäßig über das Terminal zugänglich.
Hinsichtlich der Ausführung der Skripte gibt es praktisch keinen Unterschied zwischen den verschiedenen Betriebssystemen, da R eine Programmiersprache ist. Sie können also sicher sein, dass R Ihren Code auf allen Betriebssystemen gleich interpretiert.
Dessen ungeachtet wollen wir Ihnen zeigen, wie Sie einen R-Editor verwenden. Daher stellen wir in diesem Kapitel kurz die Funktionsweise der Windows-Oberfläche RGui vor. Die Anleitung funktioniert genauso auf der Mac-R.app. Wenn Sie Linux verwenden, können Sie den Code einfach in Ihren bevorzugten Editor eintippen und über das Terminal ausführen lassen.
Zum Glück gibt es noch eine Alternative, nämlich RStudio (von RStudio, Inc). Dies ist eine für alle Betriebssysteme einheitliche Entwicklungsumgebung. Neben der Kurzanleitung zur Windows-RGui zeigen wir Ihnen auch, wie Sie RStudio verwenden.
Nachdem Sie eine Konsole geöffnet haben, machen Sie ein paar Fingerübungen in R und schreiben Skripte. Sie führen ein paar Berechnungen aus, erzeugen numerische und Textvariablen, schauen sich die Onlinehilfe an und – nie vergessen (!) – speichern Ihre Arbeit.
Mit einem Code-Editor arbeiten
R ist eine Programmiersprache, eine Statistikumgebung, ein Weg zum Problemlösen und eine Sammlung hilfreicher Werkzeuge, die Ihr Leben einfacher gestalten. Eines ist R jedoch nicht: ein Anwendungsprogramm. Etwas netter formuliert: Sie haben die freie Wahl, wie Sie mit R kommunizieren wollen, und insbesondere, welchen Editor Sie dafür verwenden.
In diesem Kapitel beschreiben wir den Windows-R-Editor, RGui (englisch für R Graphical user interface = grafische Benutzeroberfläche). Da die Standardeditoren für R sehr – drücken wir es so aus – schlicht sind, stellen wir Ihnen auch RStudio vor. Dies ist eine echte Entwicklungsumgebung, die die Arbeit mit R erheblich vereinfacht. Außerdem macht es mehr Spaß.
Alternativen zu den Standard-R-Editoren
Unter den vielen Freiheiten, die R Ihnen lässt, ist auch die Freiheit, Ihren Code-Editor oder Ihre Entwicklungsumgebung zu wählen. Sie müssen mitnichten den mitgelieferten Editor verwenden. Hier ein paar Optionen:
Emacs Speaks Statistics (http://ess.r-project.org
): Emacs ist ein leistungsstarker Text- und Code-Editor. Er ist in der Linux-Welt weit verbreitet. Auch in der Windows-Welt ist er erhältlich. Für Emacs ist ein Plug-in namens ESS (englisch emacs speaks statistics = Emacs spricht Statistik) verfügbar, das für seine schier unendliche Fülle von Tastaturkürzeln und seine treue Nutzergemeinde bekannt