Bevor wir in die Einführung starten und die verschiedenen Datentypen in R kennenlernen, richten wir die R-Umgebung kurz im Terminal und in Jupyter Notebook ein.
Um zu prüfen, ob die Installation erfolgreich war, tippe einfach R (Großbuchstabe) ins Terminal. Du landest dann in einer R-Session, wie unten gezeigt.
Für die Installation auf anderen Betriebssystemen wirf einen Blick in dieses Tutorial.
Jetzt fügen wir R als Kernel im Jupyter Notebook hinzu. Stelle sicher, dass Jupyter Notebook bereits auf deinem System installiert ist.
Öffne im Terminal eine R-Session und gib die folgenden zwei Befehle ein. Damit wird der R-Kernel zu deinem Jupyter Notebook hinzugefügt.
Wenn beide Befehle erfolgreich waren, starte Jupyter im Terminal und öffne ein Notebook mit dem R-Kernel, wie unten zu sehen:
Jetzt bist du bereit, deinen ersten R-Code im Jupyter Notebook zu schreiben.
Einführung
Um R voll auszuschöpfen, ist es wichtig, die verschiedenen Datentypen und Datenstrukturen in R zu kennen und zu verstehen und zu wissen, wie sie funktionieren. Sie spielen in fast allen Aufgaben eine zentrale Rolle — besonders bei datengetriebenen Machine-Learning-Problemen.
In Programmiersprachen brauchen wir Variablen, um Informationen zu speichern — etwa Ganzzahlen, Zeichen, Gleitkommazahlen, Booleans usw. Der Typ einer Variablen richtet sich allein nach der Art der Information, die sie hält. Wird ihr eine Ganzzahl zugewiesen, hat sie den Datentyp int. Variablen sind reservierte Speicherplätze, an denen Werte abgelegt werden. Sobald du eine Variable erstellst, wird dafür Speicher reserviert.
Je nach Datentyp einer Variablen reserviert das Betriebssystem Speicher. In R belegt eine Variable mit einer Ganzzahl z. B. 4 Bytes, ein einzelnes Zeichen 1 Byte.
In Sprachen wie C, C++ und Java werden Variablen mit einem Datentyp deklariert; in Python und R sind Variablen dagegen Objekte. Objekte sind Datenstrukturen mit Attributen und Methoden, die auf diese Attribute angewendet werden.
Es gibt verschiedene R-Objekte bzw. Datenstrukturen, die wir in diesem Tutorial behandeln:
Integer: Zahlen ohne Dezimalstellen haben den Datentyp integer. Um einen Integer explizit zu erzeugen, nutzt du as.integer() und übergibst die Variable als Argument.
Character: Wie der Name sagt: Ein Zeichen oder eine Zeichenfolge in Anführungszeichen wird in R als character interpretiert. Das können Buchstaben oder Ziffern sein.
Factor: Faktoren beschreiben qualitative Merkmale wie Farben, gut & schlecht, Kurs- oder Film-Bewertungen usw. Sie sind in der Statistik sehr nützlich.
Dafür nutzt du die Funktion c(), die alle Elemente kombiniert und einen (eindimensionalen) Vektor zurückgibt.
fac <- factor(c("good","bad","ugly","good","bad","ugly"))Bereitgestellt von
Anders als Vektoren können Listen Elemente verschiedener Datentypen enthalten und werden oft als geordnete Sammlung von Werten beschrieben. In ihnen können Vektoren, Funktionen, Matrizen und sogar weitere Listen (verschachtelte Listen) liegen.
Listen in R sind einsbasiert, d. h. die Indizierung beginnt bei eins.
Verstehen wir Listen mit einem kurzen Beispiel, das drei unterschiedliche Datentypen in einer Liste speichert.
Greifen wir nun auf jeden Vektor in der Liste separat zu. Dafür nutzt du doppelte eckige Klammern, da die drei Vektoren auf derselben Ebene in der Liste liegen. python
combined_list[[1]]
Zum Schluss flatten wir die Liste. Wichtig: Da combined_list eine Kombination aus character- und numeric-Datentypen enthält, hat character Vorrang und der Datentyp der gesamten Liste wird zu character.
Vektoren sind Objekte, die mehrere Werte desselben Datentyps speichern. Ein Vektor kann nicht gleichzeitig Integer und Character enthalten. Wenn du z. B. die Gesamtpunkte von 100 Studierenden speichern willst, erstellst du statt 100 einzelner Variablen einen Vektor der Länge 100, der alle Punktzahlen enthält.
Einen Vektor erstellst du mit c(), das alle Elemente kombiniert und ein eindimensionales Array zurückgibt.
Erstellen wir den Vektor marks mit fünf Werten vom Typ numeric.
Im Gegensatz zur Matrix sind Data Frames eine verallgemeinerte Form davon. Sie enthalten Daten in Tabellenform. Die Spalten eines Data Frames können unterschiedliche Datentypen haben. Die erste Spalte kann character sein, die zweite integer und die dritte logical.
Variablen bzw. Features stehen spaltenweise, auch Header genannt. Die Beobachtungen stehen in den Zeilen; das erste Element ist der Zeilenname, gefolgt von den eigentlichen Daten, auch Datenzeilen genannt.
Einen DataFrame erstellst du mit data.frame().
DataFrames werden häufig zum Einlesen von CSV- und Textdateien genutzt. Sie eignen sich nicht nur fürs Laden von Daten, sondern auch für Machine-Learning-Aufgaben — besonders bei numerischen Daten. DataFrames helfen beim Verständnis der Daten, beim Data Wrangling sowie beim Plotten und Visualisieren.
Erstellen wir ein kleines Beispieldataset und lernen ein paar Data-Frame-spezifische Funktionen.
dataset <- data.frame(
Person = c("Aditya","Ayush","Akshay"),
Age = c(26,26,27),
Weight = c(81,85,90),
Height = c(6,5.8,6.2),
Salary = c(50000,80000,100000))Bereitgestellt von
Schauen wir uns die Funktion head an. Sie ist praktisch, wenn du Millionen Zeilen hast und nur die ersten Zeilen sehen willst. Analog gibt tail die letzten Zeilen aus.
str(dataset)#gibt die einzelnen Klassen bzw. Datentypen je Spalte zurück.Bereitgestellt von
'data.frame':3 obs.of5variables:
$ Person: Factor w/3 levels "Aditya","Akshay",..:132
$ Age : num 262627
$ Weight: num 818590
$ Height: num 65.86.2
$ Salary: num 5e+048e+041e+05Bereitgestellt von
Jetzt die Funktion summary(), mit der du dir schnell einen statistischen Überblick verschaffst. Wie unten gezeigt, teilt sie die Daten in Quartile und gibt dir so ein Gefühl für die Verteilung. Außerdem siehst du, ob fehlende Werte vorhanden sind.
Dieses Tutorial ist ein guter Einstieg für alle, die neugierig auf die Programmiersprache R sind. Als Übung kannst du weitere nützliche Funktionen zu jedem Datentyp ausprobieren.
Es gibt noch vieles zu R zu entdecken: Conditionals und Control Flow in R, Utilities in R und — besonders spannend — Machine Learning mit R. Das behandeln wir in kommenden Tutorials. Bleib dran!
Stelle gern deine Fragen zu diesem Tutorial in den Kommentaren unten.
Lerne die wichtigsten Arten von KI-Agenten kennen, wie sie mit ihrer Umgebung interagieren und wie sie in verschiedenen Branchen eingesetzt werden. Verstehe einfache reflexive, modellbasierte, zielbasierte, nutzenbasierte, lernende Agenten und mehr.
Mach dich mit Python-Datenstrukturen vertraut: Lerne mehr über Datentypen und primitive sowie nicht-primitive Datenstrukturen wie Strings, Listen, Stapel usw.
Gewinne Vertrauen in die OLS-Regression, indem du ihre theoretischen Grundlagen beherrschst. Erforsche, wie du einfache Implementierungen in Excel, R und Python durchführst.
Bevor wir in die Einführung starten und die verschiedenen Datentypen in R kennenlernen, richten wir die R-Umgebung kurz im Terminal und in Jupyter Notebook ein.
Der folgende Befehl gilt für macOS und wird R in deinem Terminal installieren.
Um zu prüfen, ob die Installation erfolgreich war, tippe einfach R (Großbuchstabe) ins Terminal. Du landest dann in einer R-Session, wie unten gezeigt.
Für die Installation auf anderen Betriebssystemen wirf einen Blick in dieses Tutorial.
Jetzt fügen wir R als Kernel im Jupyter Notebook hinzu. Stelle sicher, dass Jupyter Notebook bereits auf deinem System installiert ist.
Öffne im Terminal eine R-Session und gib die folgenden zwei Befehle ein. Damit wird der R-Kernel zu deinem Jupyter Notebook hinzugefügt.
Wenn beide Befehle erfolgreich waren, starte Jupyter im Terminal und öffne ein Notebook mit dem R-Kernel, wie unten zu sehen:
Jetzt bist du bereit, deinen ersten R-Code im Jupyter Notebook zu schreiben.
Einführung
Um R voll auszuschöpfen, ist es wichtig, die verschiedenen Datentypen und Datenstrukturen in R zu kennen und zu verstehen und zu wissen, wie sie funktionieren. Sie spielen in fast allen Aufgaben eine zentrale Rolle — besonders bei datengetriebenen Machine-Learning-Problemen.
In Programmiersprachen brauchen wir Variablen, um Informationen zu speichern — etwa Ganzzahlen, Zeichen, Gleitkommazahlen, Booleans usw. Der
Typeiner Variablen richtet sich allein nach der Art der Information, die sie hält. Wird ihr eine Ganzzahl zugewiesen, hat sie den Datentypint. Variablen sind reservierte Speicherplätze, an denen Werte abgelegt werden. Sobald du eine Variable erstellst, wird dafür Speicher reserviert.Je nach Datentyp einer Variablen reserviert das Betriebssystem Speicher. In R belegt eine Variable mit einer Ganzzahl z. B. 4 Bytes, ein einzelnes Zeichen 1 Byte.
In Sprachen wie C, C++ und Java werden Variablen mit einem Datentyp deklariert; in Python und R sind Variablen dagegen Objekte. Objekte sind Datenstrukturen mit Attributen und Methoden, die auf diese Attribute angewendet werden.
Es gibt verschiedene R-Objekte bzw. Datenstrukturen, die wir in diesem Tutorial behandeln:
Vektoren
Listen
Matrizen
Arrays
Faktoren
Data Frames
Schauen wir uns zuerst die grundlegenden Datentypen an, auf denen R-Objekte aufbauen: Numeric, Integer, Character, Factor und Logical.
Den Datentyp von
aprüfst du mitclass().as.integer()und übergibst die Variable als Argument.Dafür nutzt du die Funktion
c(), die alle Elemente kombiniert und einen (eindimensionalen) Vektor zurückgibt.Der Faktor
fachat drei Ausprägungen: good, bad und ugly. Das prüfst du mitlevels; der Typ der Ausprägungen ist character.Bevor wir weitermachen, zwei nützliche Hinweise!
ls()listest du alle von dir definierten Variablen bzw. Objekte in der aktuellen Arbeitsumgebung auf.Listen
Anders als Vektoren können Listen Elemente verschiedener Datentypen enthalten und werden oft als geordnete Sammlung von Werten beschrieben. In ihnen können Vektoren, Funktionen, Matrizen und sogar weitere Listen (verschachtelte Listen) liegen.
Listen in R sind einsbasiert, d. h. die Indizierung beginnt bei eins.
Verstehen wir Listen mit einem kurzen Beispiel, das drei unterschiedliche Datentypen in einer Liste speichert.
Ausprägungen:
Ausprägungen:
Greifen wir nun auf jeden Vektor in der Liste separat zu. Dafür nutzt du
doppelte eckige Klammern, da die drei Vektoren auf derselben Ebene in der Liste liegen.python combined_list[[1]]python combined_list[[2]]Ausprägungen:
Als Nächstes greifen wir auf das fünfte Element des dritten Vektors zu — das ist der Buchstabe
e.Zum Schluss flatten wir die Liste. Wichtig: Da
combined_listeine Kombination auscharacter- undnumeric-Datentypen enthält, hatcharacterVorrang und der Datentyp der gesamten Liste wird zucharacter.Vektoren
Vektoren sind Objekte, die mehrere Werte desselben Datentyps speichern. Ein Vektor kann nicht gleichzeitig Integer und Character enthalten. Wenn du z. B. die Gesamtpunkte von 100 Studierenden speichern willst, erstellst du statt 100 einzelner Variablen einen Vektor der Länge 100, der alle Punktzahlen enthält.
Einen Vektor erstellst du mit
c(), das alle Elemente kombiniert und ein eindimensionales Array zurückgibt.Erstellen wir den Vektor
marksmit fünf Werten vom Typnumeric.Prüfen wir die Länge des Vektors. Sie entspricht der Anzahl der enthaltenen Elemente.
Jetzt greifen wir über den Index auf einzelne Elemente zu.
<NA>
Slicing: Wie in Python kannst du auch in R slicen.
Greifen wir per Slicing auf die Elemente vom zweiten bis zum fünften zu.
Erstellen wir nun einen
character-Vektor — analog zu numeric.'character'
Wenn ein Vektor sowohl numeric- als auch character-Werte enthält, werden die numerischen Werte in character konvertiert.
Erstellen wir einen Vektor mit 1024 numerischen Werten mithilfe eines Bereichs.
Greifen wir nun auf das mittlere und das letzte Element zu. Dafür verwenden wir
length.Mit
seqerzeugst du einen Vektor aus ungeraden Zahlen. Die Funktion nimmt drei Parameter: Start, Ende und Schrittweite.Matrix
Wie ein Vektor speichert auch eine Matrix Werte desselben Datentyps. Im Unterschied zum Vektor hält sie jedoch zweidimensionale Informationen.
Die Syntax zum Definieren einer Matrix lautet:
byrow=TRUEbedeutet, dass die Matrix zeilenweise befüllt wird.byrow=FALSEfüllt spaltenweise (Standard).Definieren wir schnell eine Matrix
Mder Form 2×3.Nutzen wir Slicing und holen Elemente aus Zeilen und Spalten.
DataFrame
Im Gegensatz zur Matrix sind Data Frames eine verallgemeinerte Form davon. Sie enthalten Daten in Tabellenform. Die Spalten eines Data Frames können unterschiedliche Datentypen haben. Die erste Spalte kann character sein, die zweite integer und die dritte logical.
Variablen bzw. Features stehen spaltenweise, auch
Headergenannt. Die Beobachtungen stehen in den Zeilen; das erste Element ist der Zeilenname, gefolgt von den eigentlichen Daten, auchDatenzeilengenannt.Einen DataFrame erstellst du mit
data.frame().DataFrames werden häufig zum Einlesen von CSV- und Textdateien genutzt. Sie eignen sich nicht nur fürs Laden von Daten, sondern auch für Machine-Learning-Aufgaben — besonders bei numerischen Daten. DataFrames helfen beim Verständnis der Daten, beim Data Wrangling sowie beim Plotten und Visualisieren.
Erstellen wir ein kleines Beispieldataset und lernen ein paar Data-Frame-spezifische Funktionen.
Schauen wir uns die Funktion
headan. Sie ist praktisch, wenn du Millionen Zeilen hast und nur die ersten Zeilen sehen willst. Analog gibttaildie letzten Zeilen aus.Jetzt die Funktion
summary(), mit der du dir schnell einen statistischen Überblick verschaffst. Wie unten gezeigt, teilt sie die Daten in Quartile und gibt dir so ein Gefühl für die Verteilung. Außerdem siehst du, ob fehlende Werte vorhanden sind.Fazit
Glückwunsch — du hast das Tutorial abgeschlossen.
Dieses Tutorial ist ein guter Einstieg für alle, die neugierig auf die Programmiersprache R sind. Als Übung kannst du weitere nützliche Funktionen zu jedem Datentyp ausprobieren.
Es gibt noch vieles zu R zu entdecken: Conditionals und Control Flow in R, Utilities in R und — besonders spannend — Machine Learning mit R. Das behandeln wir in kommenden Tutorials. Bleib dran!
Stelle gern deine Fragen zu diesem Tutorial in den Kommentaren unten.
Wenn du mehr über R lernen willst, starte mit DataCamps Kurs Intermediate R und sieh dir das Tutorial Introduction to Data frames in R an.