Хороший спосіб графічно показати багато даних


15

Я працюю над проектом, який включає 14 змінних та 345 000 спостережень за даними про житло (такі речі, як рік побудови, квадратні метри, продана ціна, графство проживання тощо). Мене хвилює намагання знайти хороші графічні прийоми та бібліотеки R, які містять приємні методики побудови графіків.

Я вже бачу, що в ggplot та решітках буде гарно працювати, і я думаю про те, щоб зробити сюжетні скрипки для деяких моїх числових змінних.

Які ще пакети рекомендували б людям відображати велику кількість чисельних чи факторних змінних чітким, відшліфованим, а головне, лаконічним?


"чіткий, відшліфований, а головне, лаконічний". Здається мені ggplot2.
Брендон Бертелсен

1
Я шукаю не лише бібліотеки R, а й будь-які конкретні типи графіків. Мої знання графіків обмежені розсипом, коробкою, qq, гістограмами, скрипками, оцінкою щільності ядра тощо. Будь-які трохи більш незрозумілі графіки, які можуть виявити більше даних, ніж були б фантастичними.
Крістофер Аден

2
паралельні координати звучать як ще одна згадка. Також можуть бути корисні методи зменшення розмірності.
Тал Галілі

Відповіді:


13

Найкращий "графік" настільки очевидний, що його ніхто ще не згадував: складіть карти. Дані про житло в основному залежать від просторового розташування (відповідно до старовинних даних про нерухомість), тому перше, що потрібно зробити, - це скласти чітку детальну карту кожної змінної. Щоб зробити це добре з третьою частиною мільйона балів, справді потрібен промисловий ГІС, який може зробити роботу короткою. Після цього є сенс продовжувати розробляти ймовірні графіки та боксплоти для вивчення одноманітних розподілів, а також будувати матриці розсіювання та мандрівні схематичні коробки тощо, щоб вивчити залежності - але карти відразу підкажуть, що слід досліджувати, як моделювати модель співвідношення даних та як географічно розподілити дані на значні підмножини.


Чудова ідея! У мене вже є широти та довготи всіх точок даних, тому таке завдання було б відносно елементарним. Я думав, що бібліотека карт буде хорошим шляхом, якщо немає чогось кращого.
Крістофер Аден

2
@Christopher Ви також можете це зробити ggplot2(наприклад, якщо вам не потрібно малювати межі країни), had.co.nz/ggplot2/coord_map.html . В іншому випадку maps, gmapsкраще. Також є GeoXpі інтерфейс R для GRASS. BTW, Mondrian має плагін для географічних даних :)
chl

Призначення найкращої відповіді може бути важким, коли є кілька чудових пропозицій, але я вважаю, що це правильний напрямок, маючи на увазі «стислий». Я спробую ggplot2 і погляну на карти, GeoXp та Mondrian. Дякуємо за ідею графічного простору!
Крістофер Аден

Кілька цікавих публікацій про карти blog.revolutionanalytics.com/2012/07/… stevendkay.wordpress.com/2010/04/21/…
Кріс Білі,

Я мав добрий успіх з latticelevelplotта contourplot. Пакет fieldsмає кілька приємних функцій, серед quiltplotяких непогано, якщо ваші дані не є строго в сітці. Він також має приємну функцію сплайну з тонкою пластинкою, Tpsщоб згладити немережеві дані в сітку. Щодо виділеного програмного забезпечення GIS, то GRASS якось ніколи не має для мене сенсу, я віддаю перевагу QGIS.
Вейн

6

Я рекомендую поглянути на GGobi , який також має R-інтерфейс, принаймні для дослідницьких цілей. Він має ряд графічних дисплеїв, особливо корисних для роботи з великою кількістю спостережень та змінних та для їх поєднання. Ви можете почати, переглянувши деякі відеоролики в розділі "Перегляд демонстрації" на сторінці Learn GGobi .

Оновлення

Посилання на інструменти Хедлі Вікхема для GGobi, як запропонував chl у коментарях:

  • Опишіть дисплей "R-пакет, який надає спосіб відтворити графіку ggobi в R"
  • clusterfly "Дослідження результатів кластеризації у великих розмірах"
  • rggobi "R пакет, який забезпечує простий інтерфейс з GGobi"

1
@ars Додамо інструменти R Hadley для покращення роботи з GGobi, наприклад, DescribeDisplayта clusterfly.
chl

Привіт пане, як я писав у відповіді - мій досвід роботи з ggobi полягає в тому, що він не справляється з великими наборами даних. У вас є інший досвід з цим?
Тал Галілі

@Tal Проблема полягає в тому, що для відображення / візуалізації екрану не покладаються на гліф, що є загальним для базової графіки R Про це йшлося на останній конференції DSC ( j.mp/bpOhBH ). Насправді існує поточний проект з Qt як бекенд і новий порт GGobi, щоб покращити інтерактивне відображення великих наборів даних.
chl

1
@Tal: Мій досвід полягає в тому, що при оновленні / перефарбуванні поглядів це відбувається досить повільно, наприклад, при додаванні змінної або перетягуванні для перестановки дисплеїв у PCP. Тим не менш, він може бути використаний, хоча і не такий інтерактивний, як рекламований з великими даними. @chl: Це дійсно добре знати, дякую!
АРС

1
@ars @Tal Ось посилання на інтерфейс Qt для R ( j.mp/d1AJp7 ) та GGobi ( j.mp/cUOvfp ). Дивіться також сховище Github Хадлі!
chl

6

Я відчуваю, що ти насправді задаєш два питання: 1) які типи візуалізацій використовувати та 2) який пакет R може створити їх.

У випадку, який тип графіка використовувати, існує багато, і це залежить від ваших потреб (наприклад: типи змінних - числові, коефіцієнтні, географічні тощо) та тип підключень, які ви бажаєте відображати):

  • Якщо у вас є багато числових змінних, можливо, ви хочете використовувати матрицю діаграми розкидання (подивіться тут )
  • Якщо у вас багато змінних факторів, можливо, ви хочете використовувати матрицю діаграми розкидання для факторів (дивіться тут )
  • Ви могли б також піти з робити деякі паралельні координати там є кілька способів зробити це в R.
  • Для більш широкого спектру графічних засобів у R див . Перегляд графічних завдань .

Тепер щодо того, як це зробити. Одна проблема з багатьма точками даних - це час до створення сюжету. ggplot2, iplots, ggobi не дуже добре для занадто багато точок даних (принаймні, з мого досвіду). У такому випадку ви можете зосередитись на базових графічних засобах R або пробити свої дані та використати всі інші інструменти. Або ви можете сподіватися, що люди, що розробляють iplots extreme (або Acinonyx ), потраплять до стадії попереднього випуску.


Дякуємо за посилання про rflowcytта Acinonyx.
chl

BTW, rflowcytзастарілий останніми випусками Bioconductor, тепер рекомендується використовуватиflowViz . У всякому разі, обидва покладаються на lattice.
chl

Дуже ретельна відповідь, Таль! Час генерації сюжетів не повинно бути величезною проблемою. Більшість моїх графіків я займався базовим пакетом, і питання про те, щоб графіки виглядали приємніше, був, коли я вирішив використовувати графік для паперу. Я розглядав можливість використання матриці розсіювання для числових змінних, але оскільки багато з них мають різні одиниці (деякі - в доларах, інші - в sqft), єдиною цінною інформацією, яку я отримав би, були загальні тенденції, але з ~ 8 числовою змінні, 8x8 SPM трохи захаращений.
Крістофер Аден

3

Mondrian надає інтерактивні функції та обробляє досить великі набори даних (хоча це на Java).

Paraview включає 2D / 3D саме. особливості.


Дякуємо за дві нові бібліотеки. Мій головний конфлікт із цими двома полягає в тому, що я надсилаю свій звіт за допомогою паперової копії, тому інтерактивна графіка може бути використана не повністю. Графіка Мондріана виглядає досить складно. Я дам його подивитися.
Крістофер Аден

@Christopher Для Mondrian ви маєте "еквівалентну" R-версію, iplotsцитовану @Tal. Про Paraview ви можете зберегти скріншот вашого viz. DescribeDisplayце спосіб експорту динамічної візуалізації з GGobi, cran.r-project.org/web/packages/DescribeDisplay/index.html .
chl

-3

Я хотів би запропонувати вашій увазі паралельні координати: візуальна багатовимірна геометрія та її застосування , яка містить останні прориви та програми в цій галузі.

Книгу високо оцінив Стівен Хокінг серед інших. Поверхні описуються (використовуючи подвійність) їх нормальними векторами в його точках. Він містить додатки до управління повітряним рухом (автоматичне запобігання зіткненням - 3 патенти США), багатовимірний обмін даними (на реальних наборах даних, у яких кілька сотень змінних), багатообективна оптимізація, управління процесами, інтенсивне обслуговування інтелектуальних дисплеїв, безпека, візуалізація мережі та нещодавно великі Дані.


5
Привіт Альфреде, спасибі за те, що приєднався до сайту, але це як трохи промоціоніст. Можливо, у вас є приклад, подібний до набору даних OP (14 змінних та 345 000 спостережень), що ви можете надати зображення та описати / продемонструвати, наскільки паралельні координати можуть бути корисними? Багато зі статичних паралельних діаграм координат, які я бачив із такою кількістю спостережень, зазвичай виглядають як спагетті на тарілці, я підозрюю, що ви краще розумієте, як мати сенс для таких великих N даних.
Andy W

Привіт Енді, я не маю прикладу з багатьма спостереженнями. В
Альфред Інсельберг

Привіт Енді, я не маю прикладу з багатьма спостереженнями. Інтерактивність є важливою для вивчення даних. Я працював над набором даних з приблизно 800 змінними та 10 000 спостережень у стільниковій телефонній мережі, щоб виявити "таємничі" збої. За допомогою класифікаторів поетапно та за допомогою інтерактивних даних було знайдено 11 відповідальних змінних та їх відстеження назад у часі, за 3-4 роки до виявлення несправності виявлено несанкціоновану активність у мережі.
Альфред Інсельберг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.