CommencerCommencer gratuitement

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

Afficher le cours

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 summarize avec across pour appliquer la fonction nlevels() à chaque colonne.
    • Passez le jeu de données du format large au format long.

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")
Modifier et exécuter le code