Die Programmiersprache R versteht sich als universelles Werkzeug für viele mathematische und statistische Verfahren der Datenanalyse und des maschinellen Lernens. Sie zu erlernen lohnt sich daher für jeden, der mit dem Sammeln, Aufbereiten und Auswerten von Daten zu tun hat.
R ist eine der besten Lösungen für die statistische Datenanalyse und ideal für Aufgaben wie Data Science und Machine Learning. Die Programmiersprache wurde 1992 von Statistikern für Anwender mit staatlichen Aufgaben neu entwickelt. Ross Ihaka und Norbert Gentleman entwickelten R an der Universität von Auckland. Die Implementierung der Programmiersprache S ist weitestgehend zum Vorgänger kompatibel und hat eine ähnliche Semantik.
Bei R handelt sich um eine Interpretersprache, die man nicht kompilieren muss. Eingaben werden somit in der Kommandozeilenoberfläche direkt ausgeführt, daneben lassen sich die Kommandos auch in Skripten sammeln. Es ist Open Source und damit komplett kostenlos. R läuft gleichermaßen unter Linux, Windows und MacOS. Es gibt eine aktive und große Community, die die Sprache immer weiterentwickelt und laufend neue, spezielle Module erstellt.
Da R speziell für die Statistik entwickelt wurde, verfügt es über schnelle Algorithmen, die auch das Analysieren großer Datensätze erlauben. Es gibt eine kostenlose und sehr gut integrierte Entwicklungsumgebung namens RStudio. R hat ein exzellentes Hilfesystem, das sowohl in Deutsch als auch in vielen anderen Sprachen verfügbar ist.
Die Sprache arbeitet mit einem Bibliothekssystem, wodurch sich Erweiterungen als fertige Pakete einfach installieren lassen. Zudem kann man R sehr einfach in andere bekannte Software-Tools integrieren, zum Beispiel in Tableau, SQL, MS Excel und so weiter. Alle Bibliotheken stehen in einem weltweiten Repository zur Verfügung, dem Comprehensive R Archive Network (CRAN [1]). Es enthält über 10 000 Pakete für R sowie wichtige Updates und den R-Quellcode.
Die Sprache R umfasst eine Vielzahl von Funktionen, darunter solche für das Datenmanagement sowie das Erstellen und Anpassen von Datenstrukturen und -typen. Hinzu kommen Analysefunktionen, deskriptive Statistik, mathematische Mengen- und Matrixoperationen sowie Funktionen höherer Ordnungen wie die der Map-Reduce-Familie. Zudem beherrscht R die objektorientierte Programmierung, die wie auch in anderen Programmiersprachen mit Klassen, Methoden, Vererbung sowie Polymorphie umgeht.
R installieren
R selbst laden Sie von der CRAN-Webseite herunter. Dort finden Sie auch Installationshinweise für verschiedene Linux-Distributionen. Als Nächstes empfiehlt es sich, eine IDE zu installieren. Wir verwenden im Folgenden das bereits erwähnte RStudio, die am weitesten verbreitete IDE für R.
RStudio gibt es in zwei Formaten [2]. Bei RStudio Desktop handelt es sich um eine normale Desktop-Anwendung. Der RStudio-Server läuft als Remote-Webserver und erlaubt es, RStudio via Webbrowser zu erreichen. Wir verwenden für unsere Beispiele RStudio Desktop. Starten Sie es nach der Installation, landen Sie in einer viergeteilten Ansicht (Abbildung 1). Auf der linken Seite finden sich ein Editor, um ein R-Skript zu erstellen, sowie eine Konsole, um direkte Abfragen einzugeben und die Ausgaben anzuzeigen. Rechts oben zeigt die IDE die Umgebungsvariablen und die Historie der ausgeführten Befehle an. Rechts unten erfolgt die Ausgabe der Visualisierungen (Plots). Dort können Sie außerdem Pakete hinzufügen und eine umfangreiche Hilfe abrufen.
Erste Befehle
Tippen Sie bei der Eingabeaufforderung einen Befehl ein und drücken die Eingabetaste, führt RStudio diesen Befehl sofort aus und zeigt die Ergebnisse an. Neben dem ersten Ergebnis gibt die IDE »[1]« aus, was für den ersten Wert in Ihrem Ergebnis steht. Einige Befehle geben mehr als einen Wert zurück, und die Ergebnisse können mehrere Zeilen füllen.
Zu Beginn lohnt ein Blick auf die Datentypen und Datenstrukturen von R. Weiterführende Anwendungen bauen auf diesem Wissen auf, wer darüber hinweggeht, ist später vielleicht frustriert. Nehmen Sie sich daher ausreichend Zeit dafür. Die grundlegenden Datentypen in R fasst die Tabelle “Datentypen in R” zusammen. Darüber hinaus verwendet R weitere Datenstrukturen, deren Bedeutung die Tabelle “Datenstrukturen in R” beschreibt.
|
Typ |
Bezeichnung |
Beispiele |
|---|---|---|
|
logische Werte |
»LOGICAL« |
»TRUE« und »FALSE« |
|
ganze Zahlen |
»INTEGER« |
»1«, »100«, »101« |
|
Kommazahlen |
»NUMERIC« |
»5.1«, »100.1« |
|
Zeichenketten |
»CHARACTER« |
»”a”«, »”abc”«, »”Haus”« |
|
Name |
Beschreibung |
|---|---|
|
Vektor |
Die grundlegendste Datenstruktur in R. Ein Vektor besteht aus einer bestimmten Anzahl von Komponenten desselben Datentyps. |
|
Liste |
Eine Liste enthält Elemente verschiedener Typen wie etwa Zahlen, Zeichenketten, Vektoren, Matrizen oder Funktionen. |
|
Matrize |
Matrizen bilden in R keine separate Objektklasse, sondern bestehen aus einem Vektor mit hinzugefügten Dimensionen. Die Elemente sind in einem zweidimensionalen Layout angeordnet und haben Zeilen und Spalten. |
|
Dataframe |
Eine der wichtigsten Datenstrukturen in R. Es handelt sich um eine Tabelle, in der jede Spalte Werte einer Variablen und jede Zeile einen Satz von Werten aus jeder Spalte enthält. |
|
Array |
Ein Array speichert Daten in mehr als zwei Dimensionen. So erstellt ein Array der Dimensionen (2, 3, 4) vier rechteckige Matrizen mit jeweils zwei Zeilen und drei Spalten. |
Um ein erstes Diagramm zu erstellen, definieren Sie zunächst, wie in den ersten zwei Zeilen von Listing 1 gezeigt, zwei Vektoren »x« und »y«. Dabei steht das »c« für verketten (concatenate), aber man kann es sich auch als sammeln (collect) oder kombinieren (combine) vorstellen. Der Funktion »plot()« (Zeile 3) übergeben Sie die Variablen »x« und »y« mit den jeweiligen Vektoren, wobei Sie mit dem Parameter »col« die Farbe der angezeigten Punkte definieren. Abbildung 2 zeigt das Ergebnis.
Listing 1
Erstes Diagramm
x <- c(1, 3, 5, 8, 12) y <- c(1, 2, 2, 4, 6) plot(x,y,col="red")

Abbildung 2: Ein erstes, sehr einfaches Diagramm in R. Die Koordinaten der Datenpunkte wurden als Vektoren übergeben.
Pakete installieren
Jedes R-Paket wird auf CRAN gehostet, wo auch R selbst bereitsteht. Sie müssen jedoch nicht die Website besuchen, um ein R-Paket herunterzuladen. Stattdessen installieren Sie Pakete direkt in der Befehlszeile von R. Als Erstes ziehen Sie eine Bibliothek für Visualisierungen nach. Dazu rufen Sie in der Eingabekonsole den Befehl »install.packages(“ggplot2”)« aus. Die Installation setzt einen einsatzbereiten C-Compiler voraus.
Durch das Einrichten eines Pakets werden dessen Funktionen noch nicht in R verfügbar, es landet erst einmal lediglich auf der Festplatte. Um es zu verwenden, müssen Sie es als Nächstes in der R-Sitzung mit dem Befehl »library(“ggplot2”)« aufrufen. Nach einem Neustart von R ist die Bibliothek nicht mehr aktiv, Sie müssen sie gegebenenfalls erneut aktivieren. Anfänger übersehen das gern, was oft zu einer zeitaufwendigen Fehlersuche führt.
RStudio-Skripte
Um die Eingaben für die nächsten Schritte zu vereinfachen, sehen wir uns an, wie Sie Skripte in RStudio verwenden. Bei einem solchen Skript handelt es sich um eine einfache Textdatei, in der Sie den R-Code speichern. Eine solche Datei lässt sich in RStudio über das File-Menü öffnen.
RStudio verfügt über viele integrierte Funktionen, die die Arbeit mit Skripten erleichtern. Zum einen können Sie automatisch eine Codezeile in einem Skript ausführen, indem Sie auf die Schaltfläche Run klicken oder [Strg]+[Eingabe] drücken. R führt dann die Codezeile aus, auf der sich die Schreibmarke befindet. Haben Sie einen kompletten Abschnitt hervorgehoben, führt R den gesamten markierten Code aus. Alternativ führen Sie das Skript komplett aus, indem Sie auf die Schaltfläche Source klicken.
Datenanalyse
Ein typischer Prozess für die Datenanalyse umfasst eine Reihe von Phasen. Der primäre Schritt eines jeden Data-Science-Projekts besteht darin, die richtigen Daten aus verschiedenen internen und externen Quellen zu erfassen. In der Praxis wird dieser Schritt oft unterschätzt – dann ergeben sich Probleme mit dem Datenschutz, der Sicherheit oder technischen Zugriffen auf Schnittstellen.
Die Datenbereinigung oder Datenaufbereitung ist ein kritischer Schritt in der Datenanalyse. Die aus verschiedenen Quellen gesammelten Daten können zum Beispiel ungeordnet oder unvollständig oder falsch formatiert sein. Stimmt die Qualität der Daten nicht, dann ergeben sich später auch keine guten Erkenntnisse. Die Datenaufbereitung benötigt normalerweise die meiste Zeit im Prozess der Datenanalyse.
Nach dem Bereinigen der Daten visualisieren Sie sie, um sie besser zu verstehen. Darauf folgen meistens Hypothesentests. Deren Ziel ist es, Muster im Datensatz zu identifizieren und wichtige potenzielle Merkmale durch die statistische Analyse zu finden.
Nachdem Sie Erkenntnisse aus den Daten gezogen haben, geht es in der Regel einen Schritt weiter: Sie möchten vorhersagen, wie sich die Daten in Zukunft entwickeln. Dazu dienen Vorhersagemodelle. Historische Daten teilt man dazu in Trainings- und Validierungssätze auf und trainiert das Modell mit dem Trainingsdatensatz. Anschließend überprüft man das trainierte Modell mithilfe des Validierungsdatensatzes und bewertet dessen Genauigkeit und Effizienz.
Nach der gründlichen Evaluierung des Modells lässt es sich dann im Zug der Modellinterpretation anwenden.
Datenvisualisierung
R verfügt über leistungsstarke Grafikpakete, die bei der Datenvisualisierung helfen. Sie produzieren Grafiken in einer Vielzahl von Formaten, die sich beispielsweise auch in Dokumente gängiger Bürosuiten einfügen lassen. Dazu zählen unter anderem Balken- und Kreisdiagramme, Histogramme, Kernel-Dichte-Diagramme, Liniendiagramme, Boxplots, Heatmaps und Wortwolken.
Um mit dem vorher installierten Paket ggplot2 schnell ein paar Plots zu generieren, erzeugen Sie zwei Vektoren gleicher Länge. Der erste dient als Satz von x-Werten, der zweite als Satz von y-Werten. Dabei quadrieren Sie die Werte des Vektors »x«, um die Werte für den Vektor »y« zu erhalten, und geben schließlich den Graphen aus (Listing 2).
Listing 2
Beispielgraph
> x <- c(-1, -0.8, -0.6, -0.4, -0.2, 0, 0.2, 0.4, 0.6, 0.8, 1) > y <- x^2 > qplot(x, y)
Zu den in der Datenanalyse häufig verwendeten Diagrammtypen zählt das Streudiagramm, das Sie mithilfe der Funktion »plot(x, y)« erstellen. Dabei können Sie weitere Parameter übergeben wie »main« für die Eingabe der Überschriften, »xlab« für die Bezeichnung der x-Achsen und »ylab« für jene der y-Achse. Listing 3 verwendet einen mit R gelieferten Datensatz des US-Magazins “Motor Trend” aus dem Jahr 1974, der 10 Aspekte von 32 Automodellen umfasst, darunter die Anzahl der Zylinder, das Fahrzeuggewicht und den Benzinverbrauch. Der Datensatz lässt sich mit »data(mtcars)« laden, »head(mtcars)« zeigt dann die ersten sechs Zeilen an.
Listing 3
Beispiel Autodaten
> plot(mtcars$wt, mtcars$mpg, main = "Streudiagramm", xlab = "Gewicht (wt)", ylab = "Meilen pro Gallone (mpg)", pch = 20, frame = FALSE) > fit <- lm(mpg ~ wt, data=mtcars) > abline(fit, col="red")
Mit der Funktion »abline()« fügen Sie dem Diagramm eine Regressionslinie hinzu (Abbildung 3). Dafür berechnet »lm()« zuerst die lineare Regression zwischen Reichweite und Gewicht, die zeigt, dass es einen Zusammenhang gibt. Hierbei handelt es sich um eine negative Korrelation: Je leichter ein Fahrzeug ist, desto weiter kann es mit derselben Menge Benzin fahren. Über die Stärke des Zusammenhangs sagt die Grafik zwar nichts aus, aber »summary(fit)« liefert eine Vielzahl von Kennwerten der Berechnung. Dazu zählt ein recht hoher R-Quadrat-Wert, ein statistisches Maß dafür, wie dicht die Datenpunkte an der Regressionslinie liegen.

Abbildung 3: Die Regressionsgerade verdeutlicht den Zusammenhang zwischen Fahrzeuggewicht und Reichweite.
Histogramme visualisieren die Verteilung einer einzelnen Variablen. Sie zeigen an, wie häufig ein bestimmter Messwert auftritt beziehungsweise wie viele Messwerte in ein bestimmtes Intervall fallen. Das Kommando »qplot« erstellt automatisch ein Histogramm, wenn Sie nur einen Vektor zum Plotten übergeben. Aus »x <- c(1, 2, 2, 2, 3, 3, 4, 4, 4)« macht »qplot(x)« so ein einfaches Histogramm.
Ein weiterer Diagrammtyp ist der Boxplot, den man auch als Whisker-Diagramm bezeichnet. Ein Boxplot ist eine standardisierte Methode zur Darstellung der Verteilung von Daten auf der Basis einer Zusammenfassung mit fünf Werten: Minimum, erstes Quartil (Q1), Median, drittes Quartil (Q3) und Maximum. Darüber hinaus verdeutlicht ein Boxplot Ausreißer und lässt erkennen, ob die Daten symmetrisch sind und wie eng sie sich gruppieren.
In R generieren Sie einen Boxplot beispielsweise mit dem schon bekannten »qplot()«. Am besten probieren Sie das mit den Beispieldaten von »mtcars« aus. Um die Spalte »cyl« als Kategorie verwenden zu können, muss »factor()« die Werte zunächst von einer numerischen Variablen in eine kategorische Variable umwandeln. Das erfolgt mit dem Befehl »factor()« (Listing 4).
Listing 4
Boxplots
> qplot(factor(cyl), mpg, data = mtcars, geom = "violin", color = factor(cyl), fill = factor(cyl))
Dank der speziellen Darstellungsform, die der Parameter »geom=”violin”« hier einstellt, erkennen Sie auf den ersten Blick, dass etwa die allermeisten Achtzylinder mit einer Gallone Sprit um die 15 Meilen weit kommen, wogegen die genügsameren Vierzylinder damit zwischen 20 und 35 Meilen schaffen (Abbildung 4).

Abbildung 4: Wie verhalten sich die mit einer Gallone Kraftstoff fahrbaren Meilen zur Anzahl Zylinder im Motor? Das zeigt dieser Plot.
Datenbereinigung
Im Folgenden sehen wir uns einige Beispiele für die Datenbereinigung an. Eine Verallgemeinerung fällt allerdings schwer, denn die zu ergreifenden Maßnahmen hängen stark vom individuellen Datensatz ab. Es gibt jedoch einige recht häufig vorkommende Aktionen.
Dazu zählt beispielsweise das Umbenennen kryptischer Spaltennamen. Hier empfiehlt es sich, zuerst die Bezeichnungen zu vereinheitlichen. Danach ändern Sie die Spaltennamen mit dem Befehl »colnames()«. In eckigen Klammern übergeben Sie den Index derjenigen Spalte, deren Namen Sie ändern wollen. Der Index einer bestimmten Spalte lässt sich auch automatisch erkennen (Listing 5, erste Zeile). Wollen Sie dabei die Spaltenbezeichnung des originalen »mtcars«-Datensatzes nicht überschreiben, kopieren Sie die Daten zunächst mit »df <- mtcars« in einen neuen Dataframe.
Weisen Datensätze leere Felder auf, kann das zu Fehlern führen. Daher versucht man, das am Anfang zu bereinigen. Je nachdem, wie häufig leere Felder vorkommen, befüllen Sie diese entweder mit Schätzwerten (Imputation) oder löschen sie. Der Befehl aus der zweiten Zeile von Listing 5 entfernt alle Zeilen, die mindestens eine Null (auch NaN oder NA) enthalten.
Umgekehrt kommt es häufig vor, dass Datensätze Duplikate enthalten. Handelt es sich dabei um das Resultat eines technischen Fehlers bei der Datenbeschaffung oder im Quellsystem, dann sollten Sie zunächst versuchen, diesen Fehler zu beheben. R stellt mit dem Befehl »unique()« eine einfache Möglichkeit bereit, den Datensatz zu bereinigen und das Ergebnis einem neuen, sauberen Dataframe zuzuweisen (Listing 5, letzte Zeile).
Listing 5
Datenbereinigung
> colnames(mtcars)[colnames(mtcars) == 'cyl'] <- 'Zylinder' > ohne.nullen <- na.omit(mtcars) > ohne.duplikate <- unique( mtcars )
Vorhersagemodellierung
Als Nächstes sehen wir uns ein Beispiel für ein Vorhersagemodell an. In der Realität gibt es eine Vielzahl von Modellen mit einer Vielzahl an Parametern, die je nach Anforderung und Daten bessere oder schlechtere Ergebnisse liefern. Für unser Beispiel benutzen wir einen Satz von Daten, die sich auf die Blume Iris beziehen – einer der bekanntesten Datensätze für Machine-Learning-Beispiele.
Als Algorithmus verwenden wir einen Entscheidungsbaum, um vorherzusagen, um welche Iris-Art es sich handelt, wenn bestimmte Eigenschaften bekannt sind, zum Beispiel die Länge (»Petal.Length«) und die Breite (»Petal.Width«) des Blütenkelchs. Dazu laden Sie zunächst die Daten, die sich bereits in einer R-Bibliothek befinden (Listing 6, erste Zeile).
Als Nächstes gilt es, die Daten in Trainings- und Testdaten aufzuteilen. Mit ersteren trainieren Sie das Modell, mit den Testdaten überprüfen Sie anschließend die Vorhersagen und messen, wie gut das Modell arbeitet. Typischerweise setzt man rund 70 Prozent der Daten für das Training ein und die verbleibenden 30 Prozent für den Test. Dazu bestimmen Sie zunächst die Länge des Datensatzes mit der Funktion »nrow()« und multiplizieren die Anzahl mit 0,7 (Listing 6, Zeile 2 und 3). Danach wählen Sie eine entsprechende Datenmenge zufällig aus (Zeile 5).
Wir haben im Beispiel einen Seed von 101 für die Auswahl der zufälligen Werte gesetzt (Zeile 4). Stellen Sie denselben Wert für den Seed ein, dann erhalten Sie identische Zufallswerte. Im Anschluss daran teilen Sie die Daten in »iris_train« für das Training und »iris_test« für die Validierung auf (Zeile 6 und 7).
Listing 6
Vorhersage mit Iris-Daten
> data(iris)
> n <- nrow(iris)
> n_train <- round(.70 * n)
> set.seed(101)
> train_indicise <- sample(1:n, n_train)
> iris_train <- iris[train_indicise, ]
> iris_test <- iris[-train_indicise, ]
> install.packages("rpart ")
> install.packages("rpart.plot")
> library(rpart)
> library(rpart.plot)
> iris_model <- rpart(formula = Species ~.,data = iris_train, method = "class")
> rpart.plot(iris_model, type=4)
Nach dem Aufteilen der Daten können Sie das Modell des Entscheidungsbaums trainieren und auswerten. Dazu benötigen Sie die Bibliothek »rpart« und für die Visualisierung des Entscheidungsbaums »rpart.plot« (Zeile 8 bis 11). Jetzt generieren Sie auf Grundlage der Trainingsdaten den Entscheidungsbaum. Dabei übergeben Sie die Spalte »Species«, um vorherzusagen, um welche Iris-Art es sich handelt (Zeile 12).
Ein Vorteil des Entscheidungsbaums: Man kann relativ gut sehen, auf welche Parameter sich das Modell bezieht. Das lässt sich mit »rpart.plot« einfach visualisieren, sodass man die Parameter ablesen kann (Zeile 13). Abbildung 5 zeigt, dass es sich um die Iris-Art Setosa handelt, wenn die »Petal.Length« größer als 2,5 ist. Übersteigt die »Petal.Length« 2.5 und liegt die »Petal.Width« unter 1.7, dann handelt es sich vermutlich um die Art Versicolor. Sonst ist die Art Virginica am wahrscheinlichsten.
Im nächsten Schritt des Analyseprozesses geht es darum herauszufinden, wie genau die Ergebnisse sind. Dafür setzt man dem Modell Daten vor, die es zuvor noch nicht gesehen hat. Dazu dienen die vorher angelegten Testdaten. Mit »predict()« generieren Sie mithilfe des Modells »iris_model« Vorhersagen auf der Grundlage dieser Testdaten (Listing 7, Zeile 1).
Für die Bestimmung der Qualität des Modells gibt es eine Vielzahl von Metriken. Die bekannteste ist die Confusion-Matrix. Um sie zu berechnen, installieren Sie zunächst die Bibliothek »caret« (Zeile 2 und 3), was Ihnen selbst auf einem schnellen Rechner Zeit für eine ausgiebige Kaffeepause verschafft. Anschließend evaluieren Sie die »iris_pred«-Daten (Zeile 4).
Listing 7
Genauigkeitsschätzung
> iris_pred <- predict(object = iris_model, newdata = iris_test, type = "class")
> install.packages("caret")
> library(caret)
> confusionMatrix(data = iris_pred, reference = iris_test$Species)
Aus den Statistiken lässt sich entnehmen, dass das Modell mit einer Genauigkeit (Accuracy) von 93 Prozent arbeitet. Ein nächster Schritt bestünde darin, den Algorithmus zu optimieren oder einen anderen zu finden, der eine noch höhere Genauigkeit liefert.
Man kann sich jetzt auch vorstellen, wie sich dieser Algorithmus auf andere Bereiche übertragen lässt. Zum Beispiel könnte man als Input Daten des Umgebungsklimas (Luftfeuchte, Temperatur etc.) verwenden, sie mit Angaben zu Art und Anzahl von Defekten einer Maschine kombinieren und mit dem Entscheidungsbaum bestimmen, unter welchen Voraussetzungen die Maschine wahrscheinlich ausfallen wird.
Daten importieren
Wenn Sie jetzt ihre eigenen Daten analysieren möchten, müssen Sie diese nur noch nach R importieren um loszulegen. R erlaubt Ihnen, die Daten aus verschiedenen Quellen zu importieren. Sehen wir uns die zwei gängigsten für den privaten Gebrauch an.
Zum Import von Daten aus einer CSV-Datei übergeben Sie der Funktion »read.table()« zunächst den Dateinamen (gegebenenfalls samt Pfad) und legen optional fest, ob die Datei Spaltennamen enthält. Außerdem können Sie angeben, welches Zeichen die Felder innerhalb der Zeilen trennt (Listing 8, erste Zeile).
Liegen die Daten in Form einer Excel-Tabelle vor, können Sie auch diese direkt importieren. Dazu installieren Sie die Bibliothek »readxl« und importieren die Daten mit »read_excel()« (zweite Zeile).
Listing 8
Datenimport
> df <- read.table("meine_datei.csv", header = FALSE, sep = ",")
> meine_daten <- read_excel("meine_excel-datei.xlsx")
Fazit
Sie wissen nun, wie sich R, RStudio und die verschiedenen R-Libraries installieren lassen. Sie haben außerdem eine Vorstellung von den verschiedenen Datenstrukturen in R bekommen und können Daten zur Analyse visualisieren. Darüber hinaus haben Sie mehr über die Grundlagen der Datenanalyse mit R und fortgeschrittene Analyseverfahren erfahren, etwa aus dem Bereich Machine Learning. Die vorgestellten Beispiele haben den Vorteil der großen Auswahl an vorgefertigten R-Bibliotheken verdeutlicht und einen Klassifikationsalgorithmus demonstriert. Damit können Sie jetzt direkt durchstarten und eigene Daten analysieren, die sie aus beliebigen Quellen importieren. (jcb/jlu)
Der Autor
Prof. Dr. René Brunner ist Gründer der Datamics GmbH, eines Beratungsunternehmens für Data Science Engineering, und Head des Studiengangs “Digital Technologies und Coding” an der Macromedia-Hochschule. Mit seinen Online-Kursen auf Udemy mit über 40 000 Teilnehmern und seinem Podcast “Data Science mit Milch und Zucker” will er Data Science, Machine Learning und KI für alle zugänglich machen, um damit die Digitalisierung voranzubringen.
Infos
- CRAN: https://cran.r-project.org
- RStudio herunterladen: https://www.rstudio.com/products/rstudio








