Facteurs R


Les facteurs

Les facteurs sont utilisés pour catégoriser les données. Voici des exemples de facteurs :

  • Démographie : Homme/Femme
  • Musique : Rock, Pop, Classique, Jazz
  • Entraînement : Force, Endurance

Pour créer un facteur, utilisez la factor()fonction et ajoutez un vecteur en argument :

Exemple

# Create a factor
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

# Print the factor
music_genre

Résultat:

[1] Jazz    Rock    Classic Classic Pop     Jazz    Rock    Jazz
Levels: Classic Jazz Pop Rock

Vous pouvez voir dans l'exemple ci-dessus que le facteur a quatre niveaux (catégories) : Classique, Jazz, Pop et Rock.

Pour n'imprimer que les niveaux, utilisez la levels()fonction :

Exemple

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

levels(music_genre)

Résultat:

[1] "Classic" "Jazz"    "Pop"     "Rock"   

Vous pouvez également définir les niveaux en ajoutant l' levelsargument à l'intérieur de la factor()fonction :

Exemple

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Other"))

levels(music_genre)

Résultat:

[1] "Classic" "Jazz"    "Pop"     "Rock"    "Other"

Longueur du facteur

Utilisez la length()fonction pour savoir combien d'éléments il y a dans le facteur :

Exemple

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

length(music_genre)

Résultat:

[1] 8

Facteurs d'accès

Pour accéder aux rubriques d'un facteur, se référer au numéro d'index, à l'aide de []parenthèses :

Exemple

Accédez au troisième élément :

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3]

Résultat:

[1] Classic
Levels: Classic Jazz Pop Rock

Modifier la valeur de l'article

Pour modifier la valeur d'un élément spécifique, reportez-vous au numéro d'index :

Exemple

Modifiez la valeur du troisième élément :

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3] <- "Pop"

music_genre[3]

Résultat:

[1] Pop
Levels: Classic Jazz Pop Rock

Notez que vous ne pouvez pas modifier la valeur d'un élément spécifique s'il n'est pas déjà spécifié dans le facteur. L'exemple suivant produira une erreur :

Exemple

Essayer de changer la valeur du troisième élément ("Classic") en un élément qui n'existe pas/non prédéfini ("Opera") :

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3] <- "Opera"

music_genre[3]

Résultat:

Warning message:
In `[<-.factor`(`*tmp*`, 3, value = "Opera") :
  invalid factor level, NA generated

Cependant, si vous l'avez déjà spécifié dans l' levelsargument, cela fonctionnera :

Exemple

Modifiez la valeur du troisième élément :

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]

Résultat:

[1] Opera
Levels: Classic Jazz Pop Rock Opera