EmpezarEmpieza gratis

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

Ver curso

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 summarize con across para aplicar la función nlevels() a cada columna.
    • Cambies el formato del conjunto de datos de ancho a largo.

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")
Editar y ejecutar código