НачатьНачать бесплатно

Получение количества уровней

С помощью функций mutate() и summarize() из пакета dplyr можно использовать функцию across(), чтобы применить второй аргумент — функцию — ко всем столбцам, для которых истинен первый аргумент.

Мы воспользуемся ими вместе с tidyr, чтобы получить количество уровней для каждой факторной переменной в multiple_choice_responses. Функция pivot_longer() из пакета tidyr преобразует набор данных из широкого формата в длинный. Она принимает два аргумента: новые имена столбцов—один содержит старые имена столбцов, другой — все значения.

Это упражнение является частью курса

Категориальные данные в Tidyverse

Посмотреть курс

Инструкции к упражнению

  • Преобразуйте все символьные столбцы в факторные и сохраните новый набор данных как responses_as_factors.
  • Создайте новый набор данных number_of_levels, в котором вы:
    • Используете summarize совместно с across, чтобы применить функцию nlevels() к каждому столбцу.
    • Измените формат набора данных с широкого на длинный.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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")
Редактировать и запускать код