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 levelsArgument 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 levelsArgument 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