Obtendo o número de níveis
Com mutate() e summarize() no dplyr, você pode usar a função across() para indicar que o segundo argumento (uma função) deve ser aplicado a todas as colunas para as quais o primeiro argumento é verdadeiro.
Vamos usar isso junto com tidyr para obter o número de níveis de cada variável fator em multiple_choice_responses. O pivot_longer() do tidyr transforma um conjunto de dados do formato largo para o formato longo. Seus dois argumentos são os novos nomes de coluna — um contendo os nomes das colunas antigas e outro com todos os valores.
Este exercício faz parte do curso
Dados Categóricos no Tidyverse
Instruções do exercício
- Transforme todas as colunas de caracteres em colunas fator e salve o novo conjunto de dados como
responses_as_factors. - Crie um novo conjunto de dados,
number_of_levels, em que você:- Use
summarizecomacrosspara aplicar a funçãonlevels()a cada coluna. - Altere o formato do conjunto de dados de largo para longo.
- Use
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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")