Лучший способ визуализировать истощение, используя R?


15

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

Вот хороший пример диаграммы Санки Джорджа М. Уайтсайда и Джорджа В. Крэбтри , Не забывайте долгосрочные фундаментальные исследования в области энергетики источник; Не забывайте долгосрочные фундаментальные исследования в области энергетики , науки 9 февраля 2007: Том. 315. нет. 5813, с. 796 - 798.

После того, как я понял, что R-пакета Sankey не было, я нашел R-скрипт онлайн , к сожалению, этот скрипт довольно сырой и несколько ограниченный. С большими надеждами я попросил R-пакет Sankey или более зрелую функцию в stackoverflow , но, к моему удивлению, кажется, что у нас нет зрелой функции для построения диаграмм Sankey в R.

После того, как я опубликовал награду, Geek On Acid был достаточно любезен, чтобы предложить небольшой взлом существующего скрипта, который заставил его работать более или менее для моей конкретной цели.

Улучшенный R-скрипт создал эту диаграмму Компьютерщик на Acid's R-Sankey Diagram Source; stackoverflow.com .

Но указывает ли отсутствие пакета R на то, что диаграммы Sankey Diagrams не являются таким удивительным способом визуализации истощения с использованием R в потоке данных, как показано на диаграмме выше (см. Первоначальный вопрос о переполнении стека для данных и кода R. Возможно есть лучший способ визуализировать истощение.

Как вы думаете, что является лучшим способом визуализации истощения в потоке данных с использованием R?


7
это очень трудно получить диаграмму хорошо выглядеть в любом автоматическом режиме (первый пример был , вероятно , сделан художником вручную размещения узлов). Сложный в программе не имеет ничего общего с его полезностью в качестве графического инструмента. Вы можете найти больше мотивации в этом моем посте на сайте ГИС о визуализации потоков. Также я привожу несколько примеров парсетов и точечных графиков в ответ на этот сайт.
Энди W

@ AndyW, спасибо за очень полезный комментарий. Я буду исследовать различные методы и экспериментировать с моими данными. Благодарю.
Эрик Фейл

Эта верхняя диаграмма - отличная идея, но мне кажется, что сумма источников не равна сумме стоков (при условии, что высота описывает величину)
naught101

Ах ... не берите в голову, я прочитал это неправильно ... более легкие биты на источниках - просто этикетки, а не часть данных. Немного смущает ..
naught101

Ответы:


4

Я согласен с @gung. Думаю, вы опубликовали диаграмму Сэнки, которая является хорошим примером того, как техника может помочь. Хотя это сложно, контекст (вход и выход энергии) также сложен, и трудно придумать более хороший способ визуализации путей ввода-вывода-действия-новых-входов в нескольких категориях использования.

Итак, для примера истощения, который вы опубликовали, как уже отмечали другие, бесполезно использовать диаграмму Санки. Я думаю, что вам нужно опубликовать полный набор переменных, если вы хотите получить хорошую рекомендацию по альтернативным визуализациям. Если вы просто хотите показать различия в источниках истощения между сайтами и клиницистами, серия точечных графиков с небольшим кратным числом может быть проще для вашей аудитории, чтобы понять и для вас реализовать ( см. Этот пример , где в вашем случае группы могут быть сайты, элементы внутри групп будут причиной истощения, а горизонтальная ось будет 0-100%).

Если вы хотите использовать диаграмму Санки, и вы хотите поиграть на другом языке высокого уровня, в галерее есть хороший пример (с кодом) для пакета печати Python, matplotlib.


3

Я не обязательно предположил бы, что отсутствие метода подразумевает, что метод не важен или бесполезен. В конце концов, для всех методов, которые в настоящее время существуют в R, было время (вполне возможно, недавнее - R всего ~ 10 лет), когда не было пакета для него.

Однако я должен подумать, что существует множество способов визуализации данных, таких как истощение. Моя первая мысль, глядя на ваш график, заключается в том, что он может быть представлен точечным графиком . Существуют и другие возможности. Дополнительные функциональные возможности диаграммы Санки вступят в действие, когда у вас будет некоторое истощение из-за определенной причины в одной точке, а затем еще больше из-за той же причины позже с другими входами и выходами между ними. Это было бы сложнее представить стандартными графиками (также сложнее следить даже за диаграммой Санки - например, для того, чтобы прочитать верхнюю часть страницы, требуется много работы). Поскольку у вас этого нет, диаграмма Сэнки кажется довольно красивой, но излишней.


1
Первая приведенная графика - это потрясающе ИМО. В нем много деталей, которые было бы трудно так интуитивно запечатлеть в серии точечных графиков. Также диаграмма Санки хороша для визуализации потоков от и к различным узлам (повторное объединение в использованную энергию и потерянную энергию).
Энди W

@ AndyW, я не хочу сбивать эту фигуру. Это большая работа, чтобы читать в основном б / к, она содержит много информации. То, что это привлекает вас и удерживает там некоторое время, может быть реальным плюсом - я не хотел, чтобы мое описание получилось негативным. OTOH, данные OP достаточно просты, чтобы их могли передать более простые графики.
gung - Восстановить Монику

Хороший вопрос, если данные ОП не сложнее, чем данные, это, вероятно, больше проблем, чем оно того стоит! Я бы даже не хотел думать о преобразовании исходной энергетической диаграммы в серию точечных графиков.
Энди W

@ gung, Спасибо, что ответили на мой пост. Я согласен, отсутствие метода не должно восприниматься как явный признак того, что метод не является хорошим или полезным, и я определенно не приводил описание диаграмм Санки (SD). Что касается моих данных, то, что вы видите на диаграмме, является только верхним измерением моих данных, у меня есть данные, собранные на 4 разных сайтах и ​​7 разными клиницистами, и я хотел бы включить эту информацию в свой график, как-то подразделить в общем потоке. Это может показаться излишним с текущими данными, но я считаю, что SD будет полезным, если я включу все мои переменные.
Эрик Фейл

С большей сложностью диаграмма Санки, вероятно, является лучшим выбором. Также стоит потратить время на просмотр некоторых сообщений @ AndyW, таких как ссылки выше. Он дал много хороших ответов, которые могут иметь отношение к делу. Например, если вы щелкнете по его имени, чтобы перейти на его страницу, а затем щелкните по тегу визуализации данных, вы сможете просмотреть его сообщения.
gung - Восстановить Монику

1

Как насчет использования кода R для написания SVG-файла с шириной стрелки, установленной в соответствии с вашими данными, и простой компоновкой. Затем загрузите в Inkscape и согните стрелки вокруг, добавьте ярлыки и т. Д. К своему сердцу, чтобы сделать что-то красивое.

Очевидная проблема: вам нужно повторить все ваши предварительные настройки в Inkscape, если ваши данные изменятся (хотя вы можете использовать ваш симпатичный SVG из Inkscape в качестве шаблона и просто подставить новую ширину стрелки).

Но, честно говоря, если бы этот разноцветный беспорядок из замаскированных вверх ногами был хорошей диаграммой Санки, я бы не хотел видеть плохой на полном желудке [хотя, глядя на него еще несколько минут, я понял о чем идет речь, хорошей графике это не нужно].


2
Мне было бы интересно увидеть лучший способ визуализации этих данных. В этом графике много информации (и несколько разных переменных), поэтому, конечно, это будет сложно ...
naught101

2
Микро-карты Дана Карра занимают много времени, чтобы переварить полную графику, как и любая подробная дорожная карта. Ни то, ни другое не обязательно плохо. См. Сообщение в блоге Джеймса Чезира « Быстрое мышление и медленное мышление» .
Энди W
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.