Weiter zum Inhalt

Faktoren in R: Tutorial

Lerne die factor()-Funktion in R kennen – mit Beispiel, Struktur, geänderter Level-Reihenfolge, Umbenennen der Levels und dem Ordnen kategorialer Werte.
Aktualisiert 18. Sept. 2026  · 5 Min. lesen

Mit KI erkunden

ChatGPTClaudePerplexity
banner

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.

gender <- c("Male","Female","Female","Male","Female")

Erstelle nun einen Faktor für das Geschlecht. Dazu verwenden wir 'factor(gender)' und speichern das Ergebnis in der Variable 'gender.factor'.

gender.factor <- factor(gender)
gender.factor
  1. Male
  2. Female
  3. Female
  4. Male
  5. Female
Levels:
  1. 'Female'
  2. 'Male'

Der obige Code liefert die folgende Ausgabe:

Male Female Female Male Female
Levels:
'Female' 'Male'

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.

str(gender.factor)
 Factor w/ 2 levels "Female","Male": 2 1 1 2 1 
Factor w/ 2 levels "Female","Male": 2 1 1 2 1

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)
  1. Male
  2. Female
  3. Female
  4. Male
  5. Female
Levels:
  1. 'Male'
  2. 'Female'
 Factor w/ 2 levels "Male","Female": 1 2 2 1 2

'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": 1 2 2 1 2

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"))
  1. Gen_Male
  2. Gen_Female
  3. Gen_Female
  4. Gen_Male
  5. Gen_Female
Levels:
  1. 'Gen_Male'
  2. 'Gen_Female'
Gen_Male Gen_Female Gen_Female Gen_Male Gen_Female
 Levels:
'Gen_Male' 'Gen_Female'

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.

pant <- c("XL","L","XL","XXL","L","XL")
pant.factor <- factor(pant,ordered = TRUE,levels = c("L","XL","XXL"))
pant.factor
pant.factor[1] > pant.factor[2]
  1. XL
  2. L
  3. XL
  4. XXL
  5. L
  6. XL
Levels:
  1. 'L'
  2. 'XL'
  3. 'XXL'

TRUE

XL L XL XXL L XL
 Levels:'L'< 'XL' < 'XXL'
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.
 

Themen
R
Datenwissenschaft

R-Kurse

Kurs

Einführung in R

4 Std.
3.1M
Beherrsche die Grundlagen der Datenanalyse in R, einschließlich Vektoren, Listen und Datenrahmen, und übe R mit echten Datensätzen.
Details anzeigenRight Arrow
Kurs Starten
Mehr anzeigenRight Arrow
Verwandt

Tutorial

Python range()-Funktion Tutorial

Lerne anhand von Beispielen die Python-Funktion range() und ihre Möglichkeiten kennen.
Aditya Sharma's photo

Aditya Sharma

7 Min.

Tutorial

Python-Lambda-Funktionen: Ein Leitfaden für Anfänger

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.
Mark Pedigo's photo

Mark Pedigo

10 Min.

Tutorial

Fibonacci-Folge in Python: Lerne und entdecke Programmiertechniken

Finde raus, wie die Fibonacci-Folge funktioniert. Schau dir die mathematischen Eigenschaften und die Anwendungen in der echten Welt an.
Laiba Siddiqui's photo

Laiba Siddiqui

6 Min.

Tutorial

Python Datenstrukturen Tutorial

Mach dich mit Python-Datenstrukturen vertraut: Lerne mehr über Datentypen und primitive sowie nicht-primitive Datenstrukturen wie Strings, Listen, Stapel usw.
Sejal Jaiswal's photo

Sejal Jaiswal

24 Min.

Tutorial

Python-Listenfunktionen und -Methoden – Tutorial und Beispiele

Lerne die Funktionen und Methoden von Python-Listen kennen. Schau dir jetzt die Code-Beispiele für list() und andere Python-Funktionen und -Methoden an!
Abid Ali Awan's photo

Abid Ali Awan

7 Min.

Tutorial

Loop-Schleifen in Python-Tutorial

Lerne, wie du For-Schleifen in Python umsetzt, um eine Sequenz oder die Zeilen und Spalten eines Pandas-DataFrame zu durchlaufen.
Aditya Sharma's photo

Aditya Sharma

5 Min.

Mehr AnzeigenMehr Anzeigen