Obtenir le nombre de niveaux
Avec mutate() et summarize() dans dplyr, vous pouvez utiliser la fonction across() pour indiquer d’appliquer leur deuxième argument, une fonction, à toutes les colonnes pour lesquelles le premier argument est vrai.
Nous allons les utiliser avec tidyr pour obtenir le nombre de niveaux pour chaque variable factorielle dans multiple_choice_responses. pivot_longer() de tidyr transforme un jeu de données du format « large » au format « long ». Ses deux arguments sont les nouveaux noms de colonnes : l’un contient les anciens noms de colonnes et l’autre toutes les valeurs.
Cet exercice fait partie du cours
Données catégorielles dans le Tidyverse
Instructions
- Convertissez toutes les colonnes de type caractère en colonnes de type facteur et enregistrez le nouveau jeu de données sous
responses_as_factors. - Créez un nouveau jeu de données,
number_of_levels, où vous :- Utilisez
summarizeavecacrosspour appliquer la fonctionnlevels()à chaque colonne. - Passez le jeu de données du format large au format long.
- Utilisez
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Change all the character columns to factors
responses_as_factors <- multiple_choice_responses %>%
mutate(___(is.character, as.factor))
number_of_levels <- responses_as_factors %>%
# Apply the function nlevels to each column
summarize(___(everything(), ___)) %>%
# Change the dataset from wide to long
___(everything(), names_to = "variable", values_to = "num_levels")