R ist eine Programmiersprache, die vor allem für statistische Auswertungen und Datenanalysen benutzt wird. Dabei wächst die Anzahl der Benutzer stetig, insbesondere durch die aktuellen Data Science Trends wie Maschinelles Lernen. Mit der Statistik-Software R kannst Du statistische Simulationen, Datenanalysen, aber auch Datenmanagement oder automatisierte Reports und Dashboards erstellen.

R ist völlig kostenlos und ein GNU-Projekt. Du kannst das Statistikprogramm R auf der offiziellen R-Projekt-Seite herunterladen. Es ist für Windows, MacOS und viele Unix-Varianten – unter anderem debian, redhat, suse und ubuntu – verfügbar.

R ist eine Interpreter-Programmiersprache, d.h. ein R-Skript wird Zeile für Zeile ausgeführt. Das Gegenteil ist eine Compiler-Programmiersprache wie C++, welche das gesamte Skript nimmt und in eine maschinenlesbare Form (exe-Datei) bringt. Mit R ist das nicht möglich, d.h. man benötigt immer eine R-Installation, um ein R-Skript laufen zu lassen.

Was sind R-Packages?

R besitzt umfangreiche Erweiterungen, sogenannte Packages. Diese statten R mit vielen zusätzlichen Fähigkeiten aus, vom Datenmanagement über spezielle statistische Algorithmen bis zu umfangreichen Grafikbibliotheken. Aktuell gibt es über 12.000 Packages zum kostenlosen Herunterladen. In meinem kostenlosen eBook „Powertricks für das Datenmanagement mit R“ beschreibe ich die 10 wichtigsten Packages für das Datenmanagement und gebe einfache Beispiele.

Ein Package wird in R mit dem Befehl install.packages(„paketname“) heruntergeladen und installiert. Das muss man einmalig machen. Danach kann das Package über library(paketname) in das aktuelle Skript eingebunden werden.

Man spricht von Base-R, wenn eine Funktion in der Basisinstallation von R dabei ist.

Statistik mit R

R wurde ja entwickelt, um Statistikprogramme zu schreiben. Insofern gibt es schon in der Basisinstallation von R viele Funktionen, die für statistische Auswertungen verwendet werden können. Hier einige Beispiele:

RStudio –  Die Standard R IDE

Wenn Du R installiert hast, kannst Du eigentlich direkt loslegen. Es lohnt sich aber, zusätzlich eine Entwicklungsumgebung zu installieren. IDE steht übrigens für „integrated development environment“. Vielleicht kennst Du ja schon Visual Studios oder Eclipse. Eine Entwicklungsumgebung hilft Dir beim Programmieren, indem es nützliche Ansichten und Werkzeuge bereitstellt. So bieten IDEs meistens eine Variablenansicht, also eine Tabelle mit allen Variablen, die verwendet wurden. Besonders effizient ist die automatische Vervollständigung, d.h. wie in Google zeigt Dir die IDE Ergänzungsvorschläge an, wenn Du den Anfang eines Befehls getippt hast. Damit wird das Programmieren deutlich schneller.

Die de facto Standard-IDE für R ist RStudio. Mittlerweile gibt es aber auch Visual Studio for R und auch Eclipse StatET

Von RStudio gibt es eine Desktop- und eine Serverversion. Die Desktopversion gibt es für Windows, MacOS und die Standard-Linux-Distributionen (Ubuntu, Debian, Fedora, Redhat, Suse). Neben der OpenSource-Version, die für die meisten von uns in Frage kommt, gibt es noch eine Commercial Licence für 1000$/Jahr, welche Priority Support bietet.

Die Serverversion gibt es nur für Linux. Diese benötigt man, wenn man R auf einem Server laufen lassen möchte und darauf per RStudio IDE über einen Webbrowser zugreifen möchte. Auch von RStudio Server gibt eine eine kostenlose OpenSource-Version und eine kommerzielle Version. Im Gegensatz zur Desktop-Version bietet aber die kommerzielle Version viele zusätzliche Tools wie LoadBalance, Monitoring und viele weitere Admin-Tools. Das hat allerdings auch seinen Preis, dafür sind nämlich 10.000$ im Jahr fällig. Sinnvoll also nur für Firmen, die diese Infrastruktur benötigen.

Aktuell arbeite ich mit einer ganz normalen R Desktop OpenSource-Version, welche auf einem Server läuft, auf den ich ganz simpel per RemoteDesktop zugreife. Ganz simpel, einfach aufzusetzen und genügt für fast alle Anwendungen. Zusammen mit Shiny Server, welcher für die Bereitstellung von Dashboards benötigt wird, ist das schon ein ganz mächtiges System.