Stufen
Werfen wir einen Blick auf das Label Levels
: Dieses begegnet Ihnen häufig bei der Arbeit mit Faktorausgaben. Möchten Sie alle möglichen Werte anzeigen, die ein Faktor annehmen kann?
Um alle Ausprägungen eines Faktors anzuzeigen, also die unterschiedlichen kategorialen Werte, verwenden Sie die Funktion levels()
mit der Faktorvariablen als Argument. Sehen wir uns ein Beispiel an:
# Vector of currencies as factor curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Output all the levels levels(curr_f)
Interessanterweise können Sie diese Levels umsortieren, ohne die eigentlichen Daten zu verändern. Dennoch begegnet man manchmal geordneten Faktorvariablen. Nehmen Sie zum Beispiel die Körpergröße: Eine Person kann als groß, mittel oder klein eingestuft werden. Diese Reihenfolge impliziert groß > mittel > klein.
R unterstützt dies, indem Sie den Parameter ordered
auf TRUE
setzen können. Dadurch werden die Variablen alphabetisch für Textwerte oder numerisch für Zahlenwerte sortiert.
Während die numerische Sortierung in der Regel eindeutig und gewünscht ist, ist die alphabetische Reihenfolge nicht immer passend. Um eine spezifische Reihenfolge festzulegen, müssen Sie zusätzlich den Parameter labels
auf einen Vektor setzen, der Ihre Werte in aufsteigender Reihenfolge enthält.
Sehen wir uns zur Verdeutlichung ein Beispiel an:
# Factors with no ordering factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Factors with ordering without labels parameter factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR'), ordered = T) # Factors with ordering with labels parameter factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR'), ordered = T, labels = c('USD', 'EUR', 'CHF', 'AUD', 'NOK'))
Das Beobachten des Unterschieds ist aufschlussreich. Probiere es selbst aus!
Swipe to start coding
Angenommen, Sie verfügen über einen Vektor mit Noten von 'A' bis 'F'. Ihre Aufgabe besteht darin, diesen in einen geordneten Faktor mit der Reihenfolge 'F < D < C < B < A' umzuwandeln:
- Wandeln Sie den Vektor
grades
mithilfe der gewünschten Reihenfolge in einen Faktor um und speichern Sie ihn in der Variablegrades_f
. - Geben Sie die gesamte Variable
grades_f
aus.
Lösung
Danke für Ihr Feedback!