Obtenir le nombre de niveaux
Avec mutate() et summarize() de 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 utiliser ces fonctions avec tidyr pour obtenir le nombre de niveaux pour chaque variable de type facteur dans multiple_choice_responses. pivot_longer() de tidyr convertit un jeu de données d'un format large à un 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.
Cette activité fait partie du cours
Données catégorielles dans le tidyverse
Instructions de l’exercice
- 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. - Changez le format du jeu de données de large à long.
- Utilisez
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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")