CommencezCommencez gratuitement

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

Voir le cours

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

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