Direkt zum Hauptinhalt springen
eLearner.app
Modul 2 · Lektion 1 von 23/10 im Kurs~12 min
Lektionen des Moduls (1/2)

Data Frames

Im Gegensatz zu Matrizen, die nur Elemente eines einzigen Typs enthalten können, stellen Data Frames die am häufigsten verwendete tabellarische Datenstruktur in R dar, um reale Daten zu analysieren.

Ein Data Frame ist eine Tabelle, in der jede Spalte Daten unterschiedlichen Typs enthalten kann (z. B. eine Spalte mit Zahlen, eine mit Text und eine mit logischen Werten), aber alle Spalten müssen dieselbe Länge haben.

Einen Data Frame erstellen

Um einen Data Frame zu erstellen, wird die Funktion data.frame() verwendet, wobei die Spaltennamen definiert und ihnen Vektoren zugewiesen werden:

Code
# Erstellung eines Beispiel-Data-Frames
students <- data.frame(
  name = c("Alice", "Bob", "Charlie"),
  grade = c(28, 24, 30),
  passed = c(TRUE, TRUE, TRUE)
)
print(students)

Zugriff auf Spalten und Zeilen

Es gibt verschiedene Möglichkeiten, die Daten eines Data Frames zu extrahieren und zu manipulieren:

  1. Verwendung des Dollar-Operators $: Ermöglicht es, eine einzelne Spalte als Vektor zu extrahieren.
    Code
    grades <- students$grade
    # grades ist der Vektor c(28, 24, 30)
    
  2. Verwendung eckiger Klammern [Zeile, Spalte]: Ähnlich wie bei Matrizen.
    Code
    # Erster Student (erste Zeile)
    first_student <- students[1, ]
    

Daten filtern

Eine der Stärken von R ist die Fähigkeit, Datensätze basierend auf logischen Bedingungen zu filtern:

Code
# Wir wählen nur die Studierenden mit einer Note über 25 aus
good_students <- students[students$grade > 25, ]
print(good_students)

Dimensionen und Modifikation von Data Frames

Um die Dimensionen eines Data Frames (die Anzahl der Zeilen und Spalten) zu ermitteln, können wir die Funktion dim() verwenden:

Code
# Gibt einen Vektor mit zwei Elementen zurück: c(Zeilen, Spalten)
dimensions <- dim(students)

Wir können auch neue Spalten hinzufügen oder bestehende aktualisieren, indem wir direkt den Operator $ verwenden:

Code
# Fügt eine Spalte mit den um 2 Punkte erhöhten Noten hinzu
students$bonus_grade <- students$grade + 2

Probier es aus

Übung#r.m2.l1.e1
Versuche: 0Wird geladen…

Erstelle einen Data Frame namens students mit zwei Spalten: name (mit den Werten 'Alice' und 'Bob') und grade (mit den Werten 28 und 24).

Editor wird geladen…
Hinweis anzeigen

Verwende die Funktion data.frame: students <- data.frame(name = c('Alice', 'Bob'), grade = c(28, 24))

Lösung nach 3 Versuchen verfügbar

Übung#r.m2.l1.e2
Versuche: 0Wird geladen…

Extrahiere aus dem Data Frame students die Spalte grade mit dem Operator $ und speichere sie in der Variable grades_vector.

Editor wird geladen…
Hinweis anzeigen

Verwende den Operator $: grades_vector <- students$grade

Lösung nach 3 Versuchen verfügbar

Übung#r.m2.l1.e3
Versuche: 0Wird geladen…

Filtere den Data Frame students so, dass er nur die Studierenden enthält, deren grade größer oder gleich 26 ist, und speichere das Ergebnis in good_students.

Editor wird geladen…
Hinweis anzeigen

Verwende students[students$grade >= 26, ] ohne das Komma zu vergessen, um alle Spalten auszuwählen.

Lösung nach 3 Versuchen verfügbar

Übung#r.m2.l1.e4
Versuche: 0Wird geladen…

Ermittle die Dimensionen des Data Frames df mit der Funktion dim() und speichere sie in der Variable df_dim.

Editor wird geladen…
Hinweis anzeigen

Verwende die Funktion dim(): df_dim <- dim(df)

Lösung nach 3 Versuchen verfügbar

Übung#r.m2.l1.e5
Versuche: 0Wird geladen…

Füge dem Data Frame inventory eine neue Spalte namens total_value hinzu, die als Produkt der Spalten price und quantity berechnet wird.

Editor wird geladen…
Hinweis anzeigen

Verwende: inventory$total_value <- inventory$price * inventory$quantity

Lösung nach 3 Versuchen verfügbar