Niveaux de facteur
Lorsque vous obtenez un ensemble de données pour la première fois, vous remarquerez souvent qu'il contient des facteurs avec des niveaux de facteurs spécifiques. Cependant, vous souhaiterez parfois changer les noms de ces niveaux pour des raisons de clarté ou autres. R vous permet de le faire avec la fonction levels()
:
levels(factor_vector) <- c("name1", "name2",...)
Les données brutes qui vous sont fournies par une enquête en sont une bonne illustration. Une question commune à tous les questionnaires est celle du sexe du répondant. Par souci de simplicité, seules deux catégories ont été enregistrées : "M"
et "F"
(il faut généralement plus de catégories pour les données d'enquête ; dans tous les cas, on utilise un facteur pour stocker les données catégorielles).
survey_vector <- c("M", "F", "F", "M", "M")
L'enregistrement du sexe à l'aide des abréviations "M"
et "F"
peut être pratique si vous recueillez des données avec un stylo et du papier, mais cela peut prêter à confusion lors de l'analyse des données. À ce stade, vous souhaiterez souvent, par souci de clarté, remplacer les niveaux de facteur par "Male"
et "Female"
au lieu de "M"
et "F"
.
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 spécifiez pas les niveaux du facteur lors de la création du vecteur, R
les attribuera automatiquement par ordre alphabétique. Pour faire correspondre correctement "F"
à "Female"
et "M"
à "Male"
, les niveaux doivent être réglés sur c("Female", "Male")
, dans cet ordre.
Cet exercice fait partie du cours
Introduction à R
Instructions
- Consultez le code qui construit un vecteur de facteurs à partir de
survey_vector
. Vous devez utiliserfactor_survey_vector
dans l'instruction suivante. - Modifiez les niveaux de facteur de
factor_survey_vector
àc("Female", "Male")
. Faites attention à l'ordre des éléments vectoriels.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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