10 Gründe, RStudio zu verwenden

RStudio ist nicht umsonst eine sehr populäre Entwicklungsumgebung für die freie Software R für Statistik, Datenaufbereitung, Data Mining und Machine Learning. 10 Gründe, RStudio zu nutzen – vielleicht ist auch für erfahrene RStudio-Anwender noch eine Überraschung dabei:

1. Sehr informative, übersichtliche Arbeitsumgebung

Die Arbeitsumgebung ist in vier Bereiche unterteilt, die jeweils durch Reiter zusätzlichen Platz für alle benötigten Informationen schaffen.

Die Oberfläche von RStudio mit vier Bereichen

Links oben enthält das Source-Fenster die Skripte und kann Datensätze anzeigen. Rechts oben finden sich das Environment (Arbeitsumgebung) mit Objekten wie Daten, Vektoren und Funktionen. Die History enthält eine Aufzeichnung der verwendeten Befehle. (Zu Git siehe weiter unten.) Links unten stellt die Konsole Befehle sowie ihre Ergebnisse, Meldungen etc. dar. (Markdown siehe weiter unten.) Rechts unten schließlich findet sich ein Dateiverzeichnis (Files) sowie Reiter für Diagramme (Plots), die Hilfe (Help) und einen Viewer für HTML-Ausgaben.

2. Intelligente Kontextmenüs

Kontextmenüs können die R-Programmierung wesentlich erleichtern – hier am Beispiel des read.csv-Befehls demonstriert.

RStudio Kontextmenü Befehl
Kontextmenü: Befehlseingabe in der Konsole + Tab drücken

Tippe ich in die Konsole „rea“ und drücke Tab, so zeigt RStudio Befehle, die so anfangen. Hier sind es eine ganze Menge Varianten von read-Funktionen.

RStudio Kontextmenü Funktion
Kontextmenü innerhalb einer Funktion

Schreibe ich den Befehl aus, öffne die runde Klammer und drücke Tab, zeigt RStudio nun die verwendbaren Funktions-Parameter.

RStudio Kontextmenü Funktion
Kontextmenü nach dem Gleichheitszeichen eines Funktionsparameters

Nach dem Gleichheitszeichen des Funktionsparameters ändert sich das Kontextmenü ein weiteres Mal: Jetzt stehen mir Ordner und Dateien zur Verfügung, passend zu read.csv.

RStudio Kontextmenü: Letzte Befehle

In der Konsole kann man mit den Pfeil-Tasten nach oben und unten zwischen den letzten Befehlen navigieren. Eleganter ist Strg + Pfeil nach oben: Dann erscheinen die letzten Befehle als Kontext-Menü.

3. Projektverwaltung

RStudio Suche im Projekt
Suchmaske für die Suche in den Projektdateien

Arbeitet man an mehreren Projekten parallel, empfiehlt es sich, die Arbeitsumgebung als Projekt zu speichern. Dann kann man jeweils genau am vorigen Stand anknüpfen und hat z. B. auch eine projektspezifische Befehls-Historie zur Verfügung. Spannendes Feature: Suchfunktion innerhalb aller Dateien, die zu einem Projekt gehören – selbst wenn sie nicht geöffnet sind, mit Strg + Shift + F.

4. Unterstützung bei der Entwicklung von R-Paketen und Shiny-Apps

Sowohl die Entwicklung von R-Paketen als auch Shiny-Apps erfordert eine bestimmte Datei- und Ordnerstruktur. RStudio erstellt dazu Vorlagen, die den Start deutlich erleichtern.

RStudio Neues Projekt
Neues Projekt in RStudio anlegen
RStudio Dateistruktur für R-Paket
Dateistruktur für ein neues R-Paket

Neben der Dateistruktur erstellt RStudio auch ein Grundgerüst im Source-Fenster. Bei einem R-Paket ist das ein „hello“-Skript mit Tipps & Ressourcen, bei einer Shiny-App die beiden Dateien ui.R (user interface) und server.R.



RStudio Dateistruktur für eine Shiny-App
Dateistruktur für eine Shiny-App

5. Versionskontrolle mit Git / Github

Wer nicht gleich die Github-Webseite verwenden will, kann die Versionskontrolle auch in einem lokalen Verzeichnis nutzen. Git muss zusätzlich installiert und im Projekt aktiviert sein. Dann erhält man neben Environment und History einen zusätzlichen Reiter.

RStudio und Git
Versionskontrolle in RStudio mit Git

Nach einem Klick auf „Diff“ zeigt RStudio detailliert die Unterschiede zwischen der letzten explizit gespeicherten Version („commit“) und dem aktuellen Arbeitsstand. Hier wurden einige Zeilen verändert (Rotes ist nicht mehr enthalten) und einiges ergänzt (grün).

6. Syntax-Highlighting: Bei weitem nicht nur für R!

Syntax-Highlighting ist heutzutage bei IDEs Standard. RStudio unterstützt neben R eine ganze Reihe weiterer Sprachen.

RStudio: Syntax-Highlighting
Sprachen, die RStudio mittels Syntax-Highlighting unterstützt

Das sind einige Markup-Sprachen (XML, YAML, Markdown, HTML) und einige Programmier- und Skriptsprachen (Python natürlich, dazu C / C++, Javacript) sowie die Datenbanksprache SQL, CSS, TeX (für LaTeX).

7. Mehrere Cursors

RStudio: Multiple cursors
Mit der Tastenkombination Strg+Alt unterstützt RStudio die Verwendung mehrerer Cursors gleichzeitig

Sicher nicht das wichtigste, aber vielleicht ein für manche überraschendes Feature.

 

 

 

 

 

8. Debugging / Fehlersuche

Fehlersuche kann ein frustrierender, manchmal nicht eingeplanter Prozess sein. RStudio hilft, z. B. mit Breakpoints  oder einem Traceback, sodass man besser nachvollziehen kann, wo der Fehler entstanden ist.

RStudio Debug
Debugging in RStudio

9. Markdown-Unterstützung

RStudio unterstützt die Berichtslegung mit Markdown. Damit kann man bequem und automatisiert R-Ergebnisse (Tabellen, Grafiken, Modelle) und Text in den Formaten Word, PDF und HTML mischen. Mit .Rmd steht ein eigener Skript-Dateityp zur Verfügung, für den RStudio Vorlagen bereit hält. In der Konsole erscheint ein zusätzlicher Reiter „R Markdown“. Der Bericht wird dann in einem neuen Fenster geöffnet.

10. Starkes Entwicklerteam

Last, but not least: Einige der hellsten und aktivsten Köpfe der R-Community arbeiten für RStudio. Der bekannteste dürfte Chief Scientist Hadley Wickham sein. Winston Chang, Max Kuhn und Garrett Grolemund zählen auch dazu, um nur eine kleine Auswahl zu nennen. Siehe RStudio-Webseite.

R Studio: einige Teammitglieder
RStudio verfügt über ein starkes Entwicklerteam: u. a. zählen Hadley Wickham, Winston Chang, Max Kuhn und Garrett Grolemund dazu

Hinweis: Ich arbeite nicht für RStudio, ich verwende lediglich die frei erhältliche Version und empfehle es gern weiter – auch bei R Schulungen.

Literatur:


[(Reproducible Research with R and RStudio)] [by: Christopher Gandrud]
Using R and Rstudio for Data Management, Statistical Analysis, and Graphics




Freue mich über Kommentare!