IniziaInizia gratis

Ottenere il numero di livelli

Con mutate() e summarize() in dplyr, puoi usare la funzione across() per specificare di applicare il loro secondo argomento, una funzione, a tutte le colonne per cui il primo argomento è vero.

Useremo questi strumenti insieme a tidyr per ottenere il numero di livelli per ogni variabile fattore in multiple_choice_responses. pivot_longer() di tidyr porta un insieme di dati dal formato wide al formato long. I suoi due argomenti sono i nuovi nomi di colonna: uno conterrà i vecchi nomi di colonna e uno tutti i valori.

Questo esercizio fa parte del corso

Dati categoriali nel Tidyverse

Visualizza il corso

Istruzioni dell'esercizio

  • Trasforma tutte le colonne di tipo character in colonne di tipo factor e salva il nuovo insieme di dati come responses_as_factors.
  • Crea un nuovo insieme di dati, number_of_levels, in cui:
    • Usi summarize con across per applicare la funzione nlevels() a ogni colonna.
    • Cambi il formato dell'insieme di dati da wide a long.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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")
Modifica ed esegui il codice