Гистограммы и диаграммы рассеяния являются отличными методами визуализации данных и взаимосвязи между переменными, но недавно мне стало интересно, какие методы визуализации мне не хватает. Какой, по вашему мнению, самый недоиспользуемый тип сюжета?
Ответы должны:
- Не очень часто используется на практике.
- Быть понятным без большого количества второстепенного обсуждения.
- Быть применимым во многих общих ситуациях.
- Включите воспроизводимый код для создания примера (желательно в R). Связанное изображение было бы хорошо.
Ответы:
Я действительно согласен с другими постерами: книги Туфте фантастические и их стоит прочитать.
Во-первых, я хотел бы указать вам очень хороший учебник по ggplot2 и ggobi из «Просмотр данных» в начале этого года. Кроме того, я бы выделил одну визуализацию из R и два графических пакета (которые не так широко используются, как базовая графика, решетка или ggplot):
Тепловые карты
Мне очень нравятся визуализации, которые могут обрабатывать многомерные данные, особенно данные временных рядов. Тепловые карты могут быть полезны для этого. Дэвид Смит (David Smith) опубликовал один действительно интересный блог в блоге Revolutions . Вот код ggplot, предоставленный Хэдли:
Что в итоге выглядит примерно так:
RGL: интерактивная 3D-графика
Еще один пакет, который стоит того, чтобы его изучить, - это RGL , который легко предоставляет возможность создавать интерактивную трехмерную графику. Для этого есть много примеров (в том числе в документации по rgl).
В R-Wiki есть хороший пример того, как строить трехмерные диаграммы рассеяния, используя rgl.
GGobi
Другой пакет, который стоит знать, это rggobi . Существует книга Springer по этому вопросу , а также множество отличных документов / примеров в Интернете, в том числе на курсе «Просмотр данных» .
источник
Мне действительно нравятся дотплоты, и когда я рекомендую их другим для решения соответствующих проблем с данными, они неизменно удивляются и восхищаются. Кажется, они не очень полезны, и я не могу понять, почему.
Вот пример из Quick-R:
Я считаю, что Кливленд в наибольшей степени отвечает за их разработку и распространение, и пример из его книги (в котором ошибочные данные были легко обнаружены с помощью точечного графика) является мощным аргументом для их использования. Обратите внимание, что в приведенном выше примере на каждую строку наносится только одна точка, в то время как их реальная сила зависит от того, у вас есть несколько точек на каждой строке с легендой, объясняющей, что есть что. Например, вы можете использовать разные символы или цвета для трех разных временных точек, и, следовательно, легко получить представление о временных моделях в разных категориях.
В следующем примере (сделано в Excel всего!), Вы можете ясно увидеть, какая категория могла пострадать от замены метки.
источник
Графики, использующие полярные координаты, конечно, недоиспользуются - некоторые скажут, что на это есть веские причины. Я думаю, что ситуации, которые оправдывают их использование, не являются общими; Я также думаю, что когда возникают такие ситуации, полярные графики могут выявить закономерности в данных, которые линейные графики не могут.
Я думаю, это потому, что иногда ваши данные по своей природе являются скорее полярными, чем линейными - например, они циклические (координаты x представляют время в течение 24-часового дня в течение нескольких дней), или данные ранее были отображены в пространстве полярных объектов.
Вот пример. Этот график показывает средний объем трафика на сайте в час. Обратите внимание на два всплеска в 10 часов вечера и в 1 час ночи. Для сетевых инженеров Сайта это важно; Также важно, что они происходят рядом друг с другом (всего два часа друг от друга). Но если вы нанесете те же данные на традиционную систему координат, этот шаблон будет полностью скрыт - нанесенный линейно, эти два всплеска будут на расстоянии 20 часов друг от друга, хотя они также на расстоянии всего два часа в последовательные дни. Полярная диаграмма выше показывает это экономно и интуитивно (легенда не нужна).
Есть два способа (о которых я знаю) для создания графиков, подобных этому, используя R (я создал график выше w / R). Одним из них является кодирование вашей собственной функции в базовых или сеточных графических системах. Другим способом, который проще, является использование круглой упаковки . Функция, которую вы бы использовали - это rose.diag :
источник
qplot(y=data, x=1:length(data), fill=factor(1:length(data)), stat='identity', geom='bar') + coord_polar()
Если ваш график рассеяния имеет так много точек, что он становится полным беспорядком, попробуйте сглаженный график рассеяния. Вот пример:
hexbin
Пакет (предложенный @Dirk Eddelbuettel) используется для тех же целей, ноsmoothScatter()
имеет то преимущество , что она принадлежит кgraphics
пакету, и, таким образом , часть стандартной установки R.источник
Что касается спарклайна и других идей Tufte, пакет YaleToolkit на CRAN предоставляет функции
sparkline
иsparklines
.Другим пакетом, который полезен для больших наборов данных, является hexbin, так как он « складывает » данные в сегменты, чтобы иметь дело с наборами данных, которые могут быть слишком большими для наивных графиков рассеяния.
источник
plot
over в обновлении моего вопроса , с некоторой помощью из этого сообщения на форумеHmisc::latex()
Версия выхода изHmisc::describe
включает в себя мини-гистограмму , которая получает включена в таблице.Сюжеты для скрипки (которые сочетают в себе блочные графики с плотностью ядра) относительно экзотичны и довольно круты Пакет vioplot в R позволяет вам сделать их довольно легко.
Вот пример (ссылка на Википедию также показывает пример):
источник
bwplot(... panel = panel.violin)
Еще одна приятная визуализация временных рядов, которую я только что рассматривал, - это «график ударов» (как показано в этом посте в блоге «Learning R» ). Это очень полезно для визуализации изменений положения с течением времени.
Вы можете прочитать о том, как создать его на http://learnr.wordpress.com/ , но вот как это выглядит:
источник
Мне также нравятся модификации блокпостов Tufte, которые позволяют намного легче сравнивать небольшие кратные, потому что они очень «тонкие» по горизонтали и не загромождают график избыточными чернилами. Тем не менее, он лучше всего работает с довольно большим количеством категорий; если у вас есть только несколько на сюжете, обычные (Тьюки) боксы выглядят лучше, так как они имеют немного больше здоровья.
В этом вопросе обсуждаются и другие способы их изготовления (в том числе другой вид бокса Tufte) .
источник
Мы не должны забывать о симпатичном и (исторически) важном сюжетном стебле и листьях (который Туфте тоже любит!). Вы получите непосредственный числовой обзор плотности и формы данных (конечно, если ваш набор данных не превышает 200 баллов). В R функция
stem
создает отображение стебля и листьев (в рабочей области). Я предпочитаю использоватьgstem
функцию из пакета fmsb, чтобы нарисовать ее прямо в графическом устройстве. Ниже приведено отклонение температуры тела бобра (данные должны быть в вашем наборе данных по умолчанию) в отображении стволовых листьев:источник
Графики горизонта (pdf), для визуализации многих временных рядов одновременно.
Графики параллельных координат (pdf), для многомерного анализа.
Графики ассоциации и мозаики для визуализации таблиц сопряженности (см. VCD Пакет )
источник
В дополнение к отличной работе Tufte, я рекомендую книги Уильяма С. Кливленда: Визуализация данных и Элементы графического представления данных . Мало того, что они превосходны, но все они были сделаны в R, и я считаю, что код общедоступен.
источник
! Присущ рефлективные, вербальные Пример из справки R:
На мой взгляд, это самый удобный способ быстро взглянуть на данные или сравнить распределение. Для более сложных дистрибутивов есть расширение, называемое
vioplot
.источник
Кажется, что мозаичные участки соответствуют всем четырем упомянутым критериям. Есть примеры в г, под мозаику.
источник
Проверьте работу Эдварда Туфте и особенно эту книгу
Вы также можете попробовать поймать его путевую презентацию . Это довольно хорошо и включает в себя связку из четырех его книг. (Клянусь, у меня нет акций его издателя!)
Кстати, мне нравится его техника визуализации спарклайновых данных. Сюрприз! Google уже написал это и разместил в Google Code
источник
Сводные участки? Как упомянуто на этой странице:
Визуализация сводной статистики и неопределенности
источник