Kursinhalt
Einführung in R: Teil I
Einführung in R: Teil I
Ebenen
Lassen Sie uns das Levels
-Label erneut betrachten: Sie sehen es häufig, wenn Sie mit Faktor-Ausgaben arbeiten. Was ist, wenn Sie alle möglichen Werte anzeigen möchten, die ein Faktor annehmen kann?
Um alle Ebenen eines Faktors anzuzeigen, also die unterschiedlichen kategorialen Werte, die er enthält, verwenden Sie die Funktion levels()
mit der Faktorvariablen als Argument. Schauen 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 Ebenen neu anordnen, ohne die tatsächlichen Daten zu ändern. Dennoch stoßen wir manchmal auf geordnete Faktorvariablen. Nehmen wir zum Beispiel die Körpergröße: Man könnte als groß, mittel oder klein klassifiziert werden. Diese Ordnung impliziert groß > mittel > klein.
R unterstützt dies, indem Sie den Parameter ordered
als TRUE
angeben können. Dies organisiert die Variablen alphabetisch für Textwerte oder numerisch für Werte, die Zahlen sind.
Während die numerische Ordnung in der Regel einfach und gewünscht ist, ist die alphabetische Ordnung möglicherweise nicht angemessen. Um eine spezifische Reihenfolge festzulegen, müssen Sie auch den Parameter labels
auf einen Vektor setzen, der Ihre Werte in aufsteigender Reihenfolge auflistet.
Schauen wir uns ein Beispiel zur Verdeutlichung 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'))
Den Unterschied zu beobachten ist lehrreich. Probieren Sie es selbst aus!
Swipe to start coding
Angenommen, Sie haben einen Vektor von Noten, der von 'A' bis 'F' reicht. Ihre Aufgabe ist es, diesen in einen geordneten Faktor mit der Reihenfolge 'F < D < C < B < A' umzuwandeln:
- Konvertieren Sie den
grades
-Vektor in einen Faktor, der die erforderliche Reihenfolge erfasst, und speichern Sie ihn in der Variablegrades_f
. - Zeigen Sie die gesamte Variable
grades_f
an.
Lösung
Danke für Ihr Feedback!
Ebenen
Lassen Sie uns das Levels
-Label erneut betrachten: Sie sehen es häufig, wenn Sie mit Faktor-Ausgaben arbeiten. Was ist, wenn Sie alle möglichen Werte anzeigen möchten, die ein Faktor annehmen kann?
Um alle Ebenen eines Faktors anzuzeigen, also die unterschiedlichen kategorialen Werte, die er enthält, verwenden Sie die Funktion levels()
mit der Faktorvariablen als Argument. Schauen 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 Ebenen neu anordnen, ohne die tatsächlichen Daten zu ändern. Dennoch stoßen wir manchmal auf geordnete Faktorvariablen. Nehmen wir zum Beispiel die Körpergröße: Man könnte als groß, mittel oder klein klassifiziert werden. Diese Ordnung impliziert groß > mittel > klein.
R unterstützt dies, indem Sie den Parameter ordered
als TRUE
angeben können. Dies organisiert die Variablen alphabetisch für Textwerte oder numerisch für Werte, die Zahlen sind.
Während die numerische Ordnung in der Regel einfach und gewünscht ist, ist die alphabetische Ordnung möglicherweise nicht angemessen. Um eine spezifische Reihenfolge festzulegen, müssen Sie auch den Parameter labels
auf einen Vektor setzen, der Ihre Werte in aufsteigender Reihenfolge auflistet.
Schauen wir uns ein Beispiel zur Verdeutlichung 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'))
Den Unterschied zu beobachten ist lehrreich. Probieren Sie es selbst aus!
Swipe to start coding
Angenommen, Sie haben einen Vektor von Noten, der von 'A' bis 'F' reicht. Ihre Aufgabe ist es, diesen in einen geordneten Faktor mit der Reihenfolge 'F < D < C < B < A' umzuwandeln:
- Konvertieren Sie den
grades
-Vektor in einen Faktor, der die erforderliche Reihenfolge erfasst, und speichern Sie ihn in der Variablegrades_f
. - Zeigen Sie die gesamte Variable
grades_f
an.
Lösung
Danke für Ihr Feedback!