Ausprägungen von Faktoren
Wenn du einen neuen Datensatz bekommst, wirst du oft feststellen, dass er Faktoren mit spezifischen Ausprägungen enthält. Manchmal möchtest du jedoch die Namen dieser Ausprägungen für mehr Klarheit oder aus anderen Gründen ändern. In R kannst du dies mit der Funktion levels()
tun:
levels(factor_vector) <- c("name1", "name2",...)
Zur Veranschaulichung denke zum Beispiel an Rohdaten, die du durch eine Umfrage erhältst. In Fragebögen wird häufig nach dem Geschlecht der teilnehmenden Person gefragt. Der Einfachheit halber wurden hier nur zwei Kategorien erfasst: "M"
und "F"
. (Für Umfragedaten brauchst du normalerweise mehr Kategorien, aber in jedem Fall verwendest du einen Faktor, um die kategorialen Daten zu speichern.)
survey_vector <- c("M", "F", "F", "M", "M")
Die Erfassung des Geschlechts mit den Abkürzungen "M"
für „male“ (männlich) und "F"
für „female“ (weiblich) kann bequem sein, wenn du die Daten mit Stift und Papier notieren musst. Aber bei der Datenanalyse kann das zu Verwirrung führen. Daher wirst du die Ausprägungen des Faktors oft in "Male"
und "Female"
anstelle von "M"
und "F"
ändern wollen, um Klarheit zu schaffen.
Aber Vorsicht! Die Reihenfolge, in der du die Levels zuweist, ist wichtig. Wenn du levels(factor_survey_vector)
eingibst, erhältst du als Ausgabe [1] "F" "M"
. Wenn du die Ausprägungen des Faktors beim Erstellen des Vektors nicht angibst, weist R
sie automatisch in alphabetischer Reihenfolge zu. Um "F"
korrekt auf "Female"
und "M"
auf "Male"
abzubilden, sollten die Ausprägungen als c("Female", "Male")
angegeben werden, also in genau dieser Reihenfolge.
Diese Übung ist Teil des Kurses
Einführung in R
Anleitung zur Übung
- Schau dir den Code an, der einen Faktorvektor aus
survey_vector
erstellt. Du solltestfactor_survey_vector
im nächsten Schritt verwenden. - Ändere die Faktorausprägungen von
factor_survey_vector
inc("Female", "Male")
. Achte hier auf die Reihenfolge der Vektorelemente!
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# Code to build factor_survey_vector
survey_vector <- c("M", "F", "F", "M", "M")
factor_survey_vector <- factor(survey_vector)
# Specify the levels of factor_survey_vector
levels(factor_survey_vector) <-
factor_survey_vector