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:
# 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:
- Verwendung des Dollar-Operators
$: Ermöglicht es, eine einzelne Spalte als Vektor zu extrahieren.Codegrades <- students$grade # grades ist der Vektor c(28, 24, 30) - 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:
# 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:
# 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:
# Fügt eine Spalte mit den um 2 Punkte erhöhten Noten hinzu
students$bonus_grade <- students$grade + 2
Probier es aus
Erstelle einen Data Frame namens students mit zwei Spalten: name (mit den Werten 'Alice' und 'Bob') und grade (mit den Werten 28 und 24).
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
Extrahiere aus dem Data Frame students die Spalte grade mit dem Operator $ und speichere sie in der Variable grades_vector.
Hinweis anzeigen
Verwende den Operator $: grades_vector <- students$grade
Lösung nach 3 Versuchen verfügbar
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.
Hinweis anzeigen
Verwende students[students$grade >= 26, ] ohne das Komma zu vergessen, um alle Spalten auszuwählen.
Lösung nach 3 Versuchen verfügbar
Ermittle die Dimensionen des Data Frames df mit der Funktion dim() und speichere sie in der Variable df_dim.
Hinweis anzeigen
Verwende die Funktion dim(): df_dim <- dim(df)
Lösung nach 3 Versuchen verfügbar
Füge dem Data Frame inventory eine neue Spalte namens total_value hinzu, die als Produkt der Spalten price und quantity berechnet wird.
Hinweis anzeigen
Verwende: inventory$total_value <- inventory$price * inventory$quantity
Lösung nach 3 Versuchen verfügbar