Получение количества уровней
С помощью функций 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")