Отримання кількості рівнів
За допомогою 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")