Давайте Заново Изобретем Велосипед Или Построим График Комбинаций Бинарных Переменных

О пакете ComplexUpset в R



Что мы делаем

О пакете ggplot2 для R написано много хороших книг и статей — он настолько хорош, что использование пакетов, основанных на других принципах, почти всегда менее эффективно и выглядит как попытка изобрести велосипед. Но иногда у вас может получиться что-то интересное, но узкоспециализированное — примером тому является пакет ComplexUpset. ComplexUpset позволяет довольно интересно и наглядно визуализировать комбинации бинарных переменных.

Используемая база данных — CollegeDistance из пакета AER. Давайте преобразуем это

  
  
  
   

library(ComplexUpset) library(AER) library(tidyverse) data("CollegeDistance") glimpse(CollegeDistance) CollegeDistance <- as.data.frame(CollegeDistance) tab_2 <- colnames(CollegeDistance[,c(4:7)]) CollegeDistance[,c(4:7)] <- CollegeDistance[,c(4:7)] == "yes" head(CollegeDistance)



Давайте заново изобретем велосипед или построим график комбинаций бинарных переменных

В результате мы получим 4 бинарные переменные: fcollege и mcollege указывают, окончила ли мать/отец студента колледж, home — живет ли семья студента в отдельном доме, городская — живет ли семья студента в городе.

Применяем основную функцию расстроенную (первая переменная — это имя кадра данных, вторая переменная — вектор имен двоичных переменных)

upset(CollegeDistance, tab_2)



Давайте заново изобретем велосипед или построим график комбинаций бинарных переменных

Левая гистограмма — количество респондентов, обладающих определенной характеристикой.

В основной таблице ниже показаны комбинации функций.

Таким образом, видно, что наибольшее количество студентов проживает в собственном доме, а не в городе, а их мать и отец не окончили колледж - 2188. Людей с противоположной установкой - 9. Самое главное, что это еще не все, можно добавить еще графиков.



upset(CollegeDistance, tab_2, annotations = list('Distribution of Score'=( ggplot(mapping=aes(y=score)) + geom_violin(alpha=0.5, na.rm=TRUE))))



Давайте заново изобретем велосипед или построим график комбинаций бинарных переменных

Функция поддерживает синтаксис ggplot2, а на график можно было добавить скрипичные диаграммы распределения показателя «оценка» для каждой из выбранных групп.

Еще один приятный бонус — функция, которая автоматически выполняет непараметрический тест Крускала-Уоллиса на равенство медиан во всех подвыборках, образованных комбинацией двоичных переменных.



upset_test(CollegeDistance, tab_2)



Давайте заново изобретем велосипед или построим график комбинаций бинарных переменных

Получается, что из количественных переменных наименьшую вариативность имеет показатель «зарплата», а наибольшую — показатель «расстояние».

Кроме того, на упаковке есть великолепная виньетка( https://cran.r-project.org/web/packages/ComplexUpset/vignettes/Examples_R.html ), где показано, как работать с различными настройками диаграммы.

Теги: #Визуализация данных #r #график #бинарные переменные

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.