Obtener el número de niveles
Con mutate() y summarize() en dplyr, puedes usar la función across() para indicar que se aplique su segundo argumento, una función, a todas las columnas donde se cumpla el primer argumento.
Usaremos esto junto con tidyr para obtener el número de niveles de cada variable factor en multiple_choice_responses. pivot_longer() de tidyr transforma un conjunto de datos de formato ancho a largo. Sus dos argumentos son los nombres de las nuevas columnas: una contiene los nombres de las columnas originales y la otra todos los valores.
Este ejercicio forma parte del curso
Datos categóricos en el Tidyverse
Instrucciones del ejercicio
- Cambia todas las columnas de tipo character a columnas factor y guarda el nuevo conjunto de datos como
responses_as_factors. - Crea un nuevo conjunto de datos,
number_of_levels, donde:- Uses
summarizeconacrosspara aplicar la funciónnlevels()a cada columna. - Cambies el formato del conjunto de datos de ancho a largo.
- Uses
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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")