Lerne die factor()-Funktion in R kennen – mit Beispiel, Struktur, geänderter Level-Reihenfolge, Umbenennen der Levels und dem Ordnen kategorialer Werte.
Faktoren sind Variablen in R, die kategoriale Werte aufnehmen und die Daten in Levels speichern. Hauptsächlich werden sie in der Datenanalyse, insbesondere in der Statistik, eingesetzt. Außerdem helfen sie, Redundanzen zu vermeiden und viel Speicherplatz zu sparen.
Hinweis: Eine kategoriale Variable nimmt Werte anhand von Bezeichnungen oder Namen an. Beispiel: Die Blutgruppe eines Menschen kann A, B, AB oder 0 sein.
Funktion factor
Verwendung: Kategorisiere Daten mit wenigen unterschiedlichen Ausprägungen. Parameter: factor(v): v kann ein Vektor mit Werten sein.
Schauen wir uns ein Beispiel für einen Faktor in der Praxis an.
Im folgenden Code gibt es zwei kategoriale Ausprägungen, nämlich "Male" und "Female" – das sind die Faktorwerte.
Wie du siehst, werden die Werte genauso ausgegeben wie im Eingangsvektor. Zusätzlich werden die 'Levels' – hier 'Female' und 'Male' – alphabetisch sortiert.
Struktur der factor-Funktion
Untersuchen wir die Struktur des Faktors mit 'str(gender.factor)' im folgenden Code.
Die Ausgabe zeigt einen Faktor mit 2 Levels. factor wandelt den Zeichenkettenvektor 'gender' in einen Integer-Vektor um. "Female" ist das erste Level und wird als 1 codiert, "Male" ist das zweite Level und wird als 2 codiert.
Der Hauptgrund für die Codierung von Zeichenketten zu Zahlen: Kategorien wiederholen sich häufig, was als Text viel Speicher belegt. Ein Faktor reduziert diese Redundanz und spart Speicher.
Reihenfolge der Levels ändern
Ändern wir die Reihenfolge der Levels, sodass "Female" die 2 und "Male" die 1 wird.
Dafür erzeugen wir einen neuen Faktor und geben die Reihenfolge der Levels "Male" und "Female" explizit als Vektor an. Das Ergebnis speichern wir in der Variablen "gender.factor2".
gender.factor2 <- factor(gender,levels=c("Male","Female"))
gender.factor2
str(gender.factor2)Bereitgestellt von
'gender.factor2' wird zusammen mit seiner Struktur über 'str(gender.factor2)' ausgegeben. Dabei siehst du folgende Änderungen:
Male Female Female Male Female
Levels:'Male''Female'
Factor w/2 levels "Male","Female":12212Bereitgestellt von
In dieser Ausgabe ist "Male" als 1 und "Female" als 2 codiert. Das ist umgekehrt zu 'gender.factor'.
Levels eines Faktors umbenennen
Benennen wir die Bezeichnungen um: Wir geben per 'levels' als ersten Parameter die vorhandenen Werte "Male" und "Female" an und per 'labels' als zweiten Parameter die neuen Beschriftungen "Gen_Male" bzw. "Gen_Female".
factor(gender,levels = c("Male","Female"),labels = c("Gen_Male","Gen_Female"))Bereitgestellt von
Gen_Male
Gen_Female
Gen_Female
Gen_Male
Gen_Female
Levels:
'Gen_Male'
'Gen_Female'
Gen_Male Gen_Female Gen_Female Gen_Male Gen_Female
Levels:'Gen_Male''Gen_Female'Bereitgestellt von
Hier wurden die Bezeichnungen von "Male" zu "Gen_Male" und von "Female" zu "Gen_Female" geändert.
Eine kategoriale Variable ordnen
Betrachten wir nun ordinale kategoriale Werte, bei denen die Reihenfolge zählt. Beispiel: Hosengrößen wie Large "L", Extra Large "XL" und Extra Extra Large "XXL" lassen sich aufsteigend anordnen. Im folgenden Code wird ein Zeichenkettenvektor mit "L", "XL" und "XXL" in 'pant' gespeichert. 'pant.factor' ist der Faktor mit aufsteigend sortierten Levels über 'levels = c("L", "XL", "XXL")' und 'ordered = TRUE', wodurch Vergleiche nach dieser Ordnung möglich werden.
Die Ausgabe zeigt zunächst alle Vektorwerte (XL, L, XL, XXL, L, XL) über 'pant.factor'. Die Levels 'L' < 'XL' < 'XXL' sind aufsteigend angeordnet und werden in der Konsole angezeigt. Zudem prüft 'pant.factor[1] > pant.factor[2]', ob "XL" größer als "L" ist – das Ergebnis ist TRUE.
Glückwunsch
Glückwunsch, du hast das Ende dieses Tutorials erreicht!
Du hast die factor()-Funktion in R kennengelernt – mit Beispiel, Struktur, geänderter Level-Reihenfolge, Umbenennen der Levels und dem Ordnen kategorialer Werte.
Wenn du mehr über R lernen möchtest, schau dir den Introduction to R Kurs von DataCamp an.
Lerne mehr über Python-Lambda-Funktionen, wozu sie gut sind und wann man sie benutzt. Enthält praktische Beispiele und bewährte Methoden für eine effektive Umsetzung.
Gewinne Vertrauen in die OLS-Regression, indem du ihre theoretischen Grundlagen beherrschst. Erforsche, wie du einfache Implementierungen in Excel, R und Python durchführst.
Mach dich mit Python-Datenstrukturen vertraut: Lerne mehr über Datentypen und primitive sowie nicht-primitive Datenstrukturen wie Strings, Listen, Stapel usw.
Faktoren sind Variablen in R, die kategoriale Werte aufnehmen und die Daten in Levels speichern. Hauptsächlich werden sie in der Datenanalyse, insbesondere in der Statistik, eingesetzt. Außerdem helfen sie, Redundanzen zu vermeiden und viel Speicherplatz zu sparen.
Hinweis: Eine kategoriale Variable nimmt Werte anhand von Bezeichnungen oder Namen an. Beispiel: Die Blutgruppe eines Menschen kann A, B, AB oder 0 sein.
Funktion factor
Verwendung: Kategorisiere Daten mit wenigen unterschiedlichen Ausprägungen.
Parameter: factor(v): v kann ein Vektor mit Werten sein.
Schauen wir uns ein Beispiel für einen Faktor in der Praxis an.
Im folgenden Code gibt es zwei kategoriale Ausprägungen, nämlich "Male" und "Female" – das sind die Faktorwerte.
Erstelle nun einen Faktor für das Geschlecht. Dazu verwenden wir 'factor(gender)' und speichern das Ergebnis in der Variable 'gender.factor'.
Levels:
Der obige Code liefert die folgende Ausgabe:
Wie du siehst, werden die Werte genauso ausgegeben wie im Eingangsvektor. Zusätzlich werden die 'Levels' – hier 'Female' und 'Male' – alphabetisch sortiert.
Struktur der factor-Funktion
Untersuchen wir die Struktur des Faktors mit 'str(gender.factor)' im folgenden Code.
Die Ausgabe zeigt einen Faktor mit 2 Levels. factor wandelt den Zeichenkettenvektor 'gender' in einen Integer-Vektor um. "Female" ist das erste Level und wird als 1 codiert, "Male" ist das zweite Level und wird als 2 codiert.
Der Hauptgrund für die Codierung von Zeichenketten zu Zahlen: Kategorien wiederholen sich häufig, was als Text viel Speicher belegt. Ein Faktor reduziert diese Redundanz und spart Speicher.
Reihenfolge der Levels ändern
Ändern wir die Reihenfolge der Levels, sodass "Female" die 2 und "Male" die 1 wird.
Dafür erzeugen wir einen neuen Faktor und geben die Reihenfolge der Levels "Male" und "Female" explizit als Vektor an. Das Ergebnis speichern wir in der Variablen "gender.factor2".
Levels:
'gender.factor2' wird zusammen mit seiner Struktur über 'str(gender.factor2)' ausgegeben. Dabei siehst du folgende Änderungen:
In dieser Ausgabe ist "Male" als 1 und "Female" als 2 codiert. Das ist umgekehrt zu 'gender.factor'.
Levels eines Faktors umbenennen
Benennen wir die Bezeichnungen um: Wir geben per 'levels' als ersten Parameter die vorhandenen Werte "Male" und "Female" an und per 'labels' als zweiten Parameter die neuen Beschriftungen "Gen_Male" bzw. "Gen_Female".
Levels:
Hier wurden die Bezeichnungen von "Male" zu "Gen_Male" und von "Female" zu "Gen_Female" geändert.
Eine kategoriale Variable ordnen
Betrachten wir nun ordinale kategoriale Werte, bei denen die Reihenfolge zählt. Beispiel: Hosengrößen wie Large "L", Extra Large "XL" und Extra Extra Large "XXL" lassen sich aufsteigend anordnen. Im folgenden Code wird ein Zeichenkettenvektor mit "L", "XL" und "XXL" in 'pant' gespeichert. 'pant.factor' ist der Faktor mit aufsteigend sortierten Levels über 'levels = c("L", "XL", "XXL")' und 'ordered = TRUE', wodurch Vergleiche nach dieser Ordnung möglich werden.
Levels:
TRUE
Die Ausgabe zeigt zunächst alle Vektorwerte (XL, L, XL, XXL, L, XL) über 'pant.factor'. Die Levels 'L' < 'XL' < 'XXL' sind aufsteigend angeordnet und werden in der Konsole angezeigt. Zudem prüft 'pant.factor[1] > pant.factor[2]', ob "XL" größer als "L" ist – das Ergebnis ist TRUE.
Glückwunsch
Glückwunsch, du hast das Ende dieses Tutorials erreicht!
Du hast die factor()-Funktion in R kennengelernt – mit Beispiel, Struktur, geänderter Level-Reihenfolge, Umbenennen der Levels und dem Ordnen kategorialer Werte.
Wenn du mehr über R lernen möchtest, schau dir den Introduction to R Kurs von DataCamp an.
Sieh dir auch unser Tutorial zu Funktionen in R an.