О пакете 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 #график #бинарные переменные
-
China Today: Очки Больше Не В Моде
19 Oct, 24 -
Умный Дом? Или Не Умный???
19 Oct, 24 -
«Просто Похудеть» – Это Непросто
19 Oct, 24 -
Наше Будущее В Наших Руках. Вторая Степень.
19 Oct, 24