У меня есть набор данных с тремя категориальными переменными, и я хочу визуализировать отношения между всеми тремя на одном графике. Любые идеи?
В настоящее время я использую следующие три графика:
Каждый график показывает уровень базовой депрессии (слабый, умеренный, тяжелый). Затем на каждом графике я смотрю на связь между лечением (0,1) и улучшением депрессии (нет, умеренное, значительное).
Эти 3 графика работают, чтобы увидеть 3-стороннюю взаимосвязь, но есть ли известный способ сделать это с одним графиком?
r
data-visualization
categorical-data
Алехандро Очоа
источник
источник
Ответы:
Это интересный набор данных, который нужно представить графически, отчасти потому, что он не совсем категоричен. Оба трехуровневых фактора являются порядковыми, и между ними возможно взаимодействие (по-видимому, для него сложнее
mild
baseline
иметьsubstantial
improvement
- или, может быть,substantial
improvement
для каждого что-то своеbaseline
).С несколькими переменными обычно не бывает одного представления, которое показывает все функции, которые могут вас заинтересовать. Некоторые факторы будет легче сравнивать, чем другие. Я думаю, что ваш исходный вид хорош и будет лучше с предложениями Ника Кокса: удаление дублирующих легенд и использование порядковой цветовой шкалы.
Если вам наиболее интересно увидеть разницу между обработками, вы можете подчеркнуть изменение, используя график с областями с накоплением вместо столбцов с накоплением.
Я обычно опасаюсь стеков в целом, потому что сложнее читать средние значения, но это усиливает природу этих данных с фиксированной суммой. И это позволяет легко прочитать сумму
moderate
+,substantial
если это актуально. Я перевернул порядокimprovement
уровней, так что чем выше, тем лучше для частоты.Без суммирования эквивалентом является график наклона.
Легче читать каждый уровень, но сложнее понять взаимодействие. Вы должны иметь в виду, что третья строка напрямую зависит от двух других.
Учитывая порядковый характер данных, может быть полезно преобразовать
improvement
значение в числовую оценку, как это часто делается с данными Лайкерта . Так , например,none=0
,moderate=1
,substantial=2
. Затем вы можете отобразить эту переменную в непрерывном масштабе. Недостатком является то, что вы должны найти разумную оценку (например, 0, 1 и 5 будет более правильным представлением).Колофон : Эти графики были сделаны с помощью функции Graph Builder в программном пакете JMP (который я помогаю разрабатывать). Несмотря на то, что он сделан в интерактивном режиме, сценарий, например, для участка, без настройки окраски, это:
источник
Во-первых, вот мое чтение из графика предоставленных данных для тех, кто хочет играть (экспериментируйте, если хотите). NB отдельные ошибки, безусловно, возможны, как и грубые ошибки.
Вот переделка оригинального дизайна. Одна деталь исходных данных упрощает задачу: количество людей в каждой из комбинаций предикторов одинаково, поэтому частоты построения графиков и проценты построения графиков одинаковы. Здесь вместо столбчатой диаграммы с накоплением (подразделенной, сегментированной) мы выделяем столбцы в двухсторонней диаграмме или в виде таблицы.
Большая часть деталей в графике - это просто детали. Несколько небольших недостатков в графике могут подорвать его эффективность, а также могут помочь несколько небольших улучшений.
Чтобы объяснить это:
Три панели здесь не нужны, с их повторением осей, легенды и текста.
Легенда - это всегда и проклятие, и благословение, заставляющее читателя мысленно «ходить взад-вперед» (или запоминать легенду, а не то, что привлекает, каким бы легким она ни была). Информативный текст прямо за решеткой легче отслеживать.
Цветовое кодирование фруктового салата не обязательно. Это тоже кажется произвольным: «существенное» улучшение - это большое дело, но я нахожу даже сильный желтый приглушенным цветом. Но нам не нужен цвет, когда у нас есть текст для объяснения.
Хотя некоторые будут с ужасом визжать, нарушая различие между рисунком и таблицей, мы также можем показать частоты. Полезно думать «4 человека в этой категории».
Здесь дань уважения традиционному построению реакции на вертикальной оси, как и в оригинале.
Все это говорит о том, что трудно увидеть много структуры в этих данных. Когда это так, также трудно разделить вину между (а) данными без особой структуры и (б) слабостями графического дизайна для выделения не только эффектов предикторов, но и возможных взаимодействий. Лечение кажется менее важным, чем исходное состояние. Но тогда, если базовый уровень был «умеренным», сколько возможностей было для «существенного» улучшения? Я остановлюсь здесь, чтобы перестать дурить себя, когда изучение данных о психическом здоровье, конечно, не является специализацией, особенно если данные оказываются поддельными. Но если они реальны, мы могли бы сделать с гораздо большим размером выборки. (Обычно мы так говорим, но вот, пожалуйста.)
РЕДАКТИРОВАТЬ График может быть естественно усложнен порядковой цветовой схемой, если это необходимо
Для записи: на графиках использован код Stata, включая мою собственную программу,
tabplot
загружаемую с помощьюssc inst tabplot
.источник
Я люблю использовать двухуровневую ось X для таких данных. Таким образом, ваши категории оси X для одного графика могут быть:
... с одинаковыми значениями по категориям [нет / умеренно / существенно] столбцы гистограммы.
источник
Разве участок мозаики специально не предназначен для этой цели?
В R это было бы как
Каждая категориальная переменная идет к одному краю квадрата, который подразделяется на метки. (Таким образом, если вы подразделяете каждое ребро только на один уровень, можно представить не более 4 категориальных переменных. ИМХО, после 3 это становится грязным и труднее интерпретировать). Размер прямоугольников пропорционален частоте. Это основная идея мозаичного сюжета, и в этом ответе и в ответе Павла Клекки то же самое.
Различия заключаются в расположении этих прямоугольников и «тонкостях», предоставляемых конкретным R-пакетом, используемым для этого типа графика. Как видно из ответа Павла Клека,
graphics
пакет делит верхний край на 2 уровня вместо использования правого края. Я использовалvcd
пакет с параметрами по умолчанию, поэтому цвет указывает на степень связи между переменными. Серый означает, что данные соответствуют (вы не можете отклонить гипотезу) переменной независимости. Синий цвет означает, что существует положительная связь между «серьезным» исходным уровнем и «существенным» улучшением как для «0», так и для «1» лечения. (Сюрприз, удивление! Я перевожу это следующим образом: если у вас тяжелая депрессия, вы, вероятно, значительно поправитесь вне зависимости от того, проходите ли вы лечение или нет.Можно настроить сюжет в соответствии со своими потребностями, см., Например, здесь . В пакете также есть несколько виньеток, гугл "пример мозаики vcd" (как я только что сделал). Статья в Википедии, процитированная в самом начале, также объясняет, как построить этот тип сюжета и интуицию за ним.
Когда вы сравниваете мою фотографию с изображением в ответе Павла Клека, не имеет значения, что «лечение» находится на левом краю каждой фотографии. Вы можете легко изменить положение края, изменив последнюю строку моего кода и настроить макет в соответствии со своими потребностями. Обычная практика заключается в том, что слева идет самая важная переменная или переменная с наименьшим количеством меток. Вы также можете изменить порядок меток (например, чтобы у правого края порядок был «не умеренно существенным»), сделав соответствующую факторную переменную в R упорядоченной и отрегулировав ее уровни.
источник
Я предпочитаю использовать мозаичный сюжет
источник
Вариант, который я рассмотрю, это использовать параллельные множества. Некоторые из сравнений будут проще, чем другие, но вы все равно можете увидеть отношения между тремя категориальными переменными.
Вот пример с данными Titanic Survival:
В R (учитывая ваши теги) я использовал ggparallel для его реализации. Некоторые люди обсуждали здесь, как резюме, как реализовать его другими способами.
источник
Информация также может быть передана с использованием следующей простой линейной диаграммы:
Улучшение показано различными типами линий, в то время как базовая группа показана цветами. Эти параметры и параметр оси x (обработка здесь) также можно поменять местами при желании.
источник
Как и в параллельных наборах, опубликованных nazareno выше, вы можете использовать аллювиальные графики, которые доступны в аллювиальном пакете R. http://www.r-bloggers.com/alluvial-diagrams/
источник