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' levels
argument à 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' levels
argument, 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