Объединение уровней по доле
Зачастую у вас не будет конкретных уровней, которые нужно объединить в категорию «другое». Вместо этого вы захотите сохранить наиболее распространённые уровни, а всё остальное свести в «другое». Это особенно удобно, когда уровней много, а большинство из них встречаются редко. Давайте попробуем это на примере вопроса из опроса Kaggle о том, какие методы машинного обучения респонденты хотели бы попробовать в следующем году. Набор данных multiple_choice_responses уже загружен. При подсчёте помните, что sort = TRUE по умолчанию соответствует сортировке по убыванию.
Это упражнение является частью курса
Категориальные данные в Tidyverse
Инструкции к упражнению
- Удалите записи тех, кто не выбрал ни одного метода.
- Создайте новую переменную
ml_methodна основеMLMethodNextYearSelect, сохранив названия методов, которые выбрали не менее 5% респондентов, и объединив остальные в категорию "Other" (значение по умолчанию). - Подсчитайте значения новой переменной и отсортируйте результат по убыванию.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
multiple_choice_responses %>%
# Remove NAs of MLMethodNextYearSelect
filter(___) %>%
# Create ml_method, which lumps all those with less than 5% of people into "Other"
mutate(ml_method = ___(MLMethodNextYearSelect, ___)) %>%
# Count the frequency of your new variable, sorted in descending order
___(___, ___)