Faktoren in R: Ein Anfängerguide
Hallo da draußen, angehende R-Programmierer! Heute tauchen wir in die faszinierende Welt der Faktoren in R ein. Keine Sorge, wenn du noch nie zuvor kodiert hast - ich werde dein freundlicher Guide auf dieser Reise sein, und am Ende wirst du wie ein Profi faktorisieren!
Was sind Faktoren?
Bevor wir ins Coding einsteigen, lassen wir uns zunächst anschauen, was Faktoren sind. In R werden Faktoren verwendet, um kategoriale Daten darzustellen. Denk daran als eine Möglichkeit, verschiedene Gruppen oder Kategorien in deinen Daten zu kennzeichnen und zu organisieren.
Zum Beispiel, wenn du Daten über die Lieblings-Eiscreme-Sorten deiner Mitschüler sammelst, könntest du Faktoren verwenden, um die verschiedenen Sorten darzustellen: Schokolade, Vanille, Erdbeere und so weiter. Jede Sorte wäre ein "Level" in deinem Faktor.
Nun schauen wir uns an, wie wir in R Faktoren erstellen und damit arbeiten können!
Beispiel: Erstellung deines ersten Faktors
Lassen wir mit einem einfachen Beispiel beginnen. Stellen wir uns vor, wir führen eine Umfrage über die Lieblings-Tiere der Menschen durch.
# Erstellen eines Vektors mit Tiervorlieben
pets <- c("Hund", "Katze", "Hund", "Fisch", "Katze", "Hund", "Hamster")
# Konvertieren des Vektors in einen Faktor
pet_factor <- factor(pets)
# Ausgabe des Faktors
print(pet_factor)
# Zusammenfassung des Faktors
summary(pet_factor)
Wenn du diesen Code ausführst, siehst du etwas wie folgendes:
[1] Hund Katze Hund Fisch Katze Hund Hamster
Levels: Katze Hund Fisch Hamster
Katze Hund Fisch Hamster
2 3 1 1
Lassen wir das auseinandernehmen:
- Wir haben zunächst einen Vektor
pets
mit verschiedenen Tiervorlieben erstellt. - Dann haben wir die
factor()
-Funktion verwendet, um diesen Vektor in einen Faktor zu konvertieren. - Wenn wir den Faktor ausgeben, zeigt R uns die Werte und die Levels (einzigartige Kategorien) im Faktor.
- Die
summary()
-Funktion gibt uns eine Anzahl, wie oft jedes Level in unserem Faktor auftritt.
Ist es nicht erstaunlich, wie R automatisch die einzigartigen Kategorien identifiziert und sie gezählt hat? Dies ist einer der Gründe, warum Faktoren für kategoriale Daten so nützlich sind!
Faktoren in Data Frame
Nun schauen wir uns an, wie Faktoren in einem Data Frame funktionieren, das eine häufige Struktur zum Speichern von Daten in R ist.
# Erstellen eines Data Frames mit Tiervorlieben und Altersangaben
pet_data <- data.frame(
name = c("Alice", "Bob", "Charlie", "David", "Eve"),
pet = c("Hund", "Katze", "Hund", "Fisch", "Katze"),
age = c(25, 30, 35, 28, 22)
)
# Konvertieren der 'pet'-Spalte in einen Faktor
pet_data$pet <- factor(pet_data$pet)
# Ausgabe der Struktur des Data Frames
str(pet_data)
# Zusammenfassung des Data Frames
summary(pet_data)
Wenn du diesen Code ausführst, bekommst du:
'data.frame': 5 obs. of 3 variables:
$ name: chr "Alice" "Bob" "Charlie" "David" ...
$ pet : Factor w/ 3 levels "Katze","Hund","Fisch": 2 1 2 3 1
$ age : num 25 30 35 28 22
name pet age
Length:5 Katze :2 Min. :22.00
Class :character Hund :2 1st Qu.:25.00
Mode :character Fisch :1 Median :28.00
Mean :28.00
3rd Qu.:30.00
Max. :35.00
Hier ist, was passiert:
- Wir haben ein Data Frame mit Namen, Tiervorlieben und Altersangaben erstellt.
- Wir haben die 'pet'-Spalte in einen Faktor konvertiert.
- Die
str()
-Funktion zeigt uns die Struktur unseres Data Frames. Beachte, wie 'pet' jetzt ein Faktor mit 3 Levels ist. - Die
summary()
-Funktion gibt uns eine Zusammenfassung jeder Spalte, einschließlich einer Anzahl jeder Tierart für unsere Faktor-Spalte.
Ändern der Reihenfolge der Levels
Manchmal möchtest du die Reihenfolge der Levels in deinem Faktor ändern. Sehen wir uns an, wie wir das machen können:
# Erstellen eines Faktors für Hemdgrößen
sizes <- factor(c("Klein", "Mittel", "Gross", "Klein", "Mittel"))
# Aktuelle Levels ausgeben
print(levels(sizes))
# Ändern der Reihenfolge der Levels
sizes <- factor(sizes, levels = c("Klein", "Mittel", "Gross"))
# Neue Levels ausgeben
print(levels(sizes))
Dies gibt aus:
[1] "Gross" "Mittel" "Klein"
[1] "Klein" "Mittel" "Gross"
Hier ist, was wir gemacht haben:
- Wir haben einen Faktor für Hemdgrößen erstellt.
- Initially, R ordnete die Levels alphabetisch an.
- Dann haben wir die
levels
-Option in derfactor()
-Funktion verwendet, um unsere gewünschte Ordnung zu spezifizieren. - Die Levels sind jetzt in der von uns festgelegten Ordnung: Klein, Mittel, Gross.
Dies kann besonders nützlich sein, wenn du Diagramme oder Tabellen erstellst und die Reihenfolge der Kategorien kontrollieren möchtest.
Generierung von Faktor-Leveln
Manchmal möchtest du Faktor-Level programmatisch generieren. Hier ist, wie du das machen kannst:
# Generierung einer Sequenz von Monaten
months <- factor(month.abb)
# Levels ausgeben
print(levels(months))
# Erstellen eines Faktors mit benutzerdefinierten Leveln
temperatures <- factor(c("Kalt", "Heiss", "Mild", "Heiss", "Kalt"),
levels = c("Kalt", "Mild", "Heiss"),
ordered = TRUE)
# Faktor ausgeben
print(temperatures)
Dies gibt aus:
[1] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"
[1] Kalt Heiss Mild Heiss Kalt
Levels: Kalt < Mild < Heiss
Lassen wir das auseinandernehmen:
- Wir haben
month.abb
, eine integrierte R-Konstante, verwendet, um einen Faktor von Monatsabkürzungen zu erstellen. - Dann haben wir einen benutzerdefinierten Faktor für Temperaturen erstellt.
- Wir haben die Level, die wir wollten, und deren Ordnung spezifiziert.
- Durch das Setzen von
ordered = TRUE
haben wir einen geordneten Faktor erstellt, bei dem Kalt < Mild < Heiss.
Nützliche Faktormethoden
Hier ist eine Tabelle mit einigen nützlichen Methoden für die Arbeit mit Faktoren:
Methode | Beschreibung |
---|---|
levels() |
Levels eines Faktors abrufen oder festlegen |
nlevels() |
Anzahl der Levels in einem Faktor abrufen |
as.numeric() |
Faktor in numerisch (basierend auf Level-Reihenfolge) umwandeln |
as.character() |
Faktor in Text umwandeln |
table() |
Frequenztabelle eines Faktors erstellen |
droplevels() |
Unbenutzte Levels aus einem Faktor entfernen |
Denke daran, Übung macht den Meister! Probiere, deine eigenen Faktoren zu erstellen und mit diesen Methoden zu experimentieren. Vor dir liegt nicht mehr lange, bis du kategoriale Daten wie ein Profi handhaben kannst!
Ich hoffe, dieser Leitfaden hat dir geholfen, Faktoren in R zu verstehen. Sie sind ein mächtiges Werkzeug für die Arbeit mit kategorialen Daten, und ihr Beherrschen wird deine Reise in der Datenanalyse erheblich glätten. Viel Spaß beim Coden!
Credits: Image by storyset