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
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
summarizeconacrossper applicare la funzionenlevels()a ogni colonna. - Cambi il formato dell'insieme di dati da wide a long.
- Usi
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")