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

Упорядочивание стека для удобства восприятия

В предыдущем графике мы объединили все болезни, кроме кори и эпидемического паротита, в отдельную категорию. Поэтому можно предположить, что траектория категории «другие» интересует нас меньше, чем траектории кори и паротита.

Из-за этого построенный график имеет один недостаток. Порядок расположения слоёв: корь сверху, паротит в середине, прочие снизу — затрудняет оценку динамики паротита во времени, поскольку его базовая линия нестабильна из-за изменяющихся значений доли кори.

Ggplot упорядочивает столбцы и легенду в соответствии с порядком переменных в наборе данных. Чтобы переопределить этот порядок, преобразуйте столбец с болезнями в фактор, указав levels в том порядке, который нужен для графика.

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

Лучшие практики визуализации в R

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

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

  • Измените функцию mutate в конвейере обработки данных так, чтобы столбец disease стал фактором с levels = c('measles', 'other', 'mumps').
  • Постройте график заново, используя тот же код, что и в предыдущем упражнении.

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

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

disease_counts <- who_disease %>%
	mutate(
		disease = ifelse(disease %in% c('measles', 'mumps'), disease, 'other') %>% 
		factor(___) # change factor levels to desired ordering
	) %>%
	group_by(disease, year) %>%
	summarise(total_cases = sum(cases)) 

# plot
ggplot(disease_counts, aes(x = year, y = total_cases, fill = disease)) +
	geom_col(position = 'fill')
Редактировать и запускать код