Niveaux d'un facteur
Quand vous recevez un jeu de données, vous remarquerez souvent qu'il contient des facteurs avec des niveaux précis. Toutefois, il arrive que vous vouliez renommer ces niveaux pour plus de clarté ou pour d'autres raisons. R vous permet de le faire avec la fonction levels() :
levels(factor_vector) <- c("name1", "name2",...)
Un bon exemple est constitué des données brutes provenant d'un sondage. Une question fréquente dans tout questionnaire concerne le sexe de la personne répondante. Ici, pour simplifier, seules deux catégories ont été consignées, "M" et "F". (En pratique, il faut généralement plus de catégories pour les données d'enquête; dans tous les cas, vous utilisez un facteur pour stocker les données catégorielles.)
survey_vector <- c("M", "F", "F", "M", "M")
Noter le sexe avec les abréviations "M" et "F" peut être pratique si vous recueillez des données au crayon et papier, mais cela peut prêter à confusion au moment de l'analyse. À ce stade, vous voudrez souvent remplacer les niveaux du facteur par "Male" et "Female" plutôt que "M" et "F" pour plus de clarté.
Attention : l'ordre dans lequel vous attribuez les niveaux est important. Si vous tapez levels(factor_survey_vector), vous verrez que le résultat est [1] "F" "M". Si vous ne précisez pas les niveaux du facteur lors de la création du vecteur, R les attribuera automatiquement par ordre alphabétique. Pour associer correctement "F" à "Female" et "M" à "Male", les niveaux doivent être définis à c("Female", "Male"), dans cet ordre.
Cette activité fait partie du cours
Introduction à R
Instructions de l’exercice
- Consultez le code qui crée un vecteur facteur à partir de
survey_vector. Vous devrez utiliserfactor_survey_vectordans la prochaine instruction. - Modifiez les niveaux du facteur
factor_survey_vectorpourc("Female", "Male"). Faites attention à l'ordre des éléments du vecteur ici.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Code to build factor_survey_vector
survey_vector <- c("M", "F", "F", "M", "M")
factor_survey_vector <- factor(survey_vector)
# Specify the levels of factor_survey_vector
levels(factor_survey_vector) <-
factor_survey_vector