R -Faktoren
Faktoren
Faktoren werden verwendet, um Daten zu kategorisieren. Beispiele für Faktoren sind:
- Demographie: Männlich/Weiblich
- Musik: Rock, Pop, Klassik, Jazz
- Training: Kraft, Ausdauer
Um einen Faktor zu erstellen, verwenden Sie die factor()
Funktion und fügen einen Vektor als Argument hinzu:
Beispiel
# Create a factor
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
# Print the factor
music_genre
Ergebnis:
[1] Jazz Rock Classic Classic Pop Jazz Rock Jazz Levels: Classic Jazz Pop Rock
An dem obigen Beispiel können Sie sehen, dass der Faktor vier Stufen (Kategorien) hat: Klassik, Jazz, Pop und Rock.
Um nur die Ebenen zu drucken, verwenden Sie die levels()
Funktion:
Beispiel
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
levels(music_genre)
Ergebnis:
[1] "Classic" "Jazz" "Pop" "Rock"
Sie können die Ebenen auch festlegen, indem Sie das levels
Argument innerhalb der
factor()
Funktion hinzufügen:
Beispiel
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Other"))
levels(music_genre)
Ergebnis:
[1] "Classic" "Jazz" "Pop" "Rock" "Other"
Faktor Länge
Verwenden Sie die length()
Funktion, um herauszufinden, wie viele Artikel sich im Faktor befinden:
Beispiel
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
length(music_genre)
Ergebnis:
[1] 8
Zugriffsfaktoren
[]
Um auf die Elemente in einem Faktor zuzugreifen, beziehen Sie sich in Klammern auf die Indexnummer :
Beispiel
Greifen Sie auf das dritte Element zu:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3]
Ergebnis:
[1] Classic Levels: Classic Jazz Pop Rock
Artikelwert ändern
Um den Wert eines bestimmten Elements zu ändern, beziehen Sie sich auf die Indexnummer:
Beispiel
Ändern Sie den Wert des dritten Elements:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3] <- "Pop"
music_genre[3]
Ergebnis:
[1] Pop Levels: Classic Jazz Pop Rock
Beachten Sie, dass Sie den Wert eines bestimmten Elements nicht ändern können, wenn es nicht bereits im Faktor angegeben ist. Das folgende Beispiel erzeugt einen Fehler:
Beispiel
Versuch, den Wert des dritten Elements ("Classic") in ein Element zu ändern, das nicht existiert/nicht vordefiniert ist ("Opera"):
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3] <- "Opera"
music_genre[3]
Ergebnis:
Warning message: In `[<-.factor`(`*tmp*`, 3, value = "Opera") : invalid factor level, NA generated
Wenn Sie es jedoch bereits im levels
Argument angegeben haben, funktioniert es:
Beispiel
Ändern Sie den Wert des dritten Elements:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock",
"Opera"))
music_genre[3] <- "Opera"
music_genre[3]
Ergebnis:
[1] Opera Levels: Classic Jazz Pop Rock Opera