Яка найкраща візуалізація для таблиць на випадок надзвичайних ситуацій?


22

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

Редагувати: Або, як підказує @forecaster у коментарях, таблиця номерів сама по собі є простою схемою і повинна бути достатньою.


4
Іноді таблиця даних є найкращим методом візуалізації та графіками. Класичні приклади цього - таблиці надзвичайних ситуацій.
синоптик

1
Важливий момент, хоча я не згоден, що це завжди найкращий варіант.
rnso

1
Ось чому я сказав "інколи". Я б порекомендував, Покажіть мені цифри Стівена Фьюва, які мають цілий розділ, присвячений таблицям.
синоптик

1
ну, найкращий метод залежить від того, що ви хочете показати, наскільки велика є таблиця, без якоїсь специфіки це є широким!
kjetil b halvorsen

3
Більшість stats.stackexchange.com/questions/56322/… тут видається доречною .
Нік Кокс

Відповіді:


9

Тут не буде єдиного розміру рішення. Якщо у вас є дуже проста таблиця (наприклад, ), просто представивши таблицю, ймовірно , краще. Якщо ви хочете реальної фігури, мозаїчні сюжети (як пропонує @xan) - це, мабуть, приємне місце для початку. Є деякі інші варіанти, аналогічні мозаїчним сюжетам, включаючи ситові ділянки, графіки асоціації та динамічні графіки тиску (див. Моє запитання тут: Альтернатива ситам / мозаїчним ділянкам для таблиць на випадок надзвичайних ситуацій ); Книга Майкла Друзі, Візуалізація категоричних даних , була б хорошим ресурсом для цієї теми (на основі SAS), а пакет vcd - хороший ресурс для реалізації цих ідей у ​​Р. 2×2

Оскільки таблиці мають більшу кількість рядків і стовпців, проте, на мою думку, їх стає складніше використовувати. Інший варіант візуалізації полягає у виконанні / побудові аналізу відповідності . Аналіз листування є аналогічним виконанню аналізу основних компонентів як у рядках, так і стовпцях таблиці непередбачених ситуацій. Потім обидва накреслюються разом із біплотом. Ось приклад на основі R, використовуючи дані з відповіді @ xan:

library(ca)
tab = as.table(rbind(c(28, 4,  0, 56),
                     c(38, 5,  9, 10),
                     c( 6, 6, 14, 13) ))
names(dimnames(tab)) = c("activity", "period")
rownames(tab)        = c("feed", "social", "travel")
colnames(tab)        = c("morning", "noon", "afternoon", "evening")
tab
#         period
# activity morning noon afternoon evening
#   feed        28    4         0      56
#   social      38    5         9      10
#   travel       6    6        14      13
plot(ca(tab))

введіть тут опис зображення

Для інтерпретації цього сюжету, чим ближче дві точки одного типу, тим схожіші два профілі рядків / стовпців. І чим ближче дві точки різних типів, тим більше їх вірогідна маса знаходиться в комірці, що представляє їх перетин.

У R є пакет ca ; ця віньєтка ( pdf ) також може бути корисною.


Дуже корисний. Мабуть, це не вдається з малими значеннями, наприклад: tt = з (mtcars, таблиця (фактор (передача), фактор (vs))); сюжет (ca (tt)); Помилка x [, dim]: підписка поза межами
rnso

Це тому, що один з факторів (тобто factor(vs)) має лише два рівні; вам потрібно як мінімум три. Спробуйте ttt = with(mtcars, table(factor(gear), factor(cyl))); plot(ca(ttt)).
gung - Відновіть Моніку

Дуже добре відображаються відносини між різними факторами.
rnso

Або ви можете показати таблицю після впорядкування рядків та стовпців у порядку оцінки результатів кореспонденції.
kjetil b halvorsen

Цікава ідея, @kjetilbhalvorsen. Я не впевнений, як це отримати від caоб’єкта, тому я кодував це з нуля. Якщо я не помилився, ви упорядкуєте рядки c(1,3,2)та стовпці c(4,1,3,2). Зробивши це, я не впевнений, що я повинен тут бачити. Що ви маєте на увазі?
gung - Відновіть Моніку

11

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

введіть тут опис зображення

введіть тут опис зображення


Це добре. Представлені як числа, так і пропорції. Числа також можна поставити на сюжет. Якщо впорядковано предмет осі x, він буде виглядати ще краще. Під ухиленням я мав на увазі звичайну барплоту з категоріями поруч, а не складену один на одного (див. Позицію = 'ухилення' на цій сторінці: r-bloggers.com/using-r-barplot-with-ggplot2 ).
rnso

1
+1 Цей дизайн часто працює дуже добре для порівняно простих даних ; навпаки, я виявив, що також важко замислюватися над складнішими даними, незважаючи на великий акцент у літературі на його доступності до таблиць на випадок довільного виміру. Проте жоден дизайн не працює добре ні в таких умовах. Невеликим моментом у цьому прикладі є те, що ви, схоже, прийняли алфавітний порядок "після полудня" ... "полудень", запропонований вашою програмою, тоді як збереження порядку часу здається більш природним вибором.
Нік Кокс

8

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

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

Приклад спочатку, що охоплює ті самі дані, що і опубліковані xan:

введіть тут опис зображення

Якщо потрібне ім'я, як це часто буває, це двостороння діаграма (в даному випадку). Я не буду каталогізувати тут інших термінів, за винятком того, що декілька бархартів - одна поширена альтернатива з подібним смаком. (Моє невелике заперечення проти "декількох діаграм" полягає в тому, що "множина" не виключає дуже поширених штабельних або бічних смужкових діаграм, тоді як "двостороння" для мене більш чітко передбачає компонування рядків і стовпців, хоча, у свою чергу, це може взяти приклади, щоб зробити це зрозумілим.)

Плюси і мінуси для подібного роду сюжетів теж прості, але я детально розкажу. Оскільки я захоплююсь цим дизайном (який приходить щонайменше до 1930-х років), інші, можливо, хочуть додати більш гострої критики.

+1. Ідею легко зрозуміти навіть нетехнічним групам. Висота смуги або довжина смуги кодують частоти в цьому прикладі. В інших прикладах вони можуть кодувати відсотки, обчислені будь-яким способом, залишки тощо.

+2. Структура рядків і стовпців відповідає структурі таблиці . Ви також можете додавати числові значення. Дуже невеликі кількості і навіть неявні нулі добре видно, що не завжди трапляється з іншими конструкціями (наприклад, складеними штрих-діаграмами, мозаїчними сюжетами). Маркування рядків і стовпців зазвичай ефективніше, ніж додавання ключа або легенди, з ментальним «назад і вперед», яке вимагає. Таким чином, ця конструкція гібридизує ідеї графіків та таблиць, що, здавалося б, непокоїть деяких читачів; навпаки, я б заперечував, що сильні відмінності між Фігурами та Таблицями є лише історичними перекриттями, застарілими тепер, коли дослідники можуть готувати власні документи і не повинні покладатися на дизайнерів, композиторів та принтерів.

+3. Розширення на тристоронні та більш високі конструкції в принципі прості . Покладіть дві чи більше змінних у вигляді складених змінних на одну або обидві осі, або наведіть масив таких графіків. Природно, чим складніша конструкція, тим складніша інтерпретація.

+4. Конструкція чітко допускає порядкові змінні на будь-якій осі. Порядок може бути виражений (наприклад) відповідним відтінком, а також порядком категорій на цій осі. Порядок категорій по осях можна визначити за їх значенням, а краще визначити за частотами; алфавітний порядок відповідно до текстових міток може бути за замовчуванням, але ніколи не повинен вважатися єдиним вибором.

-1. Будучи загальним у дизайні, сюжет може бути менш ефективним у виявленні певних видів відносин . Зокрема, мозаїчний сюжет може зробити відхилення від незалежності дуже чіткими. І навпаки, коли зв'язки між категоріальними змінними є складними або незрозумілими, то, як правило, жоден графік не гарний для показу більше, ніж слабкий факт.

-2. Деяким чином дизайн неефективний у використанні простору , залишаючи місце для кожної перехресної комбінації, незалежно від того, чи часто це відбувається. Це порока того ж принципу, що розглядається як чеснота. Конкретний дизайн вище пробілів категоріями однаково незалежно від їх частоти; жертвуючи, що часто жертвує читабельні граничні ярлики, що я дуже високо ціную. У цьому прикладі всі текстові мітки бувають дуже короткими, але це далеко не типово.

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

Інші приклади включають

Як можна уявити взаємозв'язок між 3 категоричними змінними?

Графік залежності двох порядкових змінних


1
+1 для іншого життєздатного варіанту та чудового обговорення. Дозвольте мені задати питання про двосторонні барчарти / вкажіть на інший можливий зворотний бік: Існує немаркований, але чітко відчутний "ящик", в межах якого можуть бути намічені смуги. Коли планка наближається до верхньої частини коробки, вона досягає 100%. Як визначається це значення? (Примітка: таблиці на випадок надзвичайних ситуацій завжди є деякими мультиноміальними, з урахуванням загальної суми.) Здійснення сум верхнього ряду поля або сум стовпців сприятиме різним висновкам сприйняття. (Не здається, що використовується таблична сума, оскільки багато барів було б занадто мало для диференціації.)
gung - Відновити Моніку

1
@gung Дякую Я можу коментувати свою власну програму Stata, що використовується тут і в своїх прикладах в інших резюме. Програма tabplotвід SSC. Висота брусків - це обов'язково деяка частка висоти найвищого або найдовшого бруска; доступний для цього простір визначається кількістю рядків, що відображаються. Користувач може змінити розмір зазору за замовчуванням, але потім ризикує торкатися або закупорювати один одного. Якщо бруски можуть бути як негативними, так і позитивними, справи не простіші. Я уявляю, що таке ж обмеження кусається з будь-якою іншою програмою. Коротше кажучи, бари, які не торкаються, передбачають пробіл!
Нік Кокс

8

Щоб доповнити відповіді @ gung та @ xan, ось приклад мозаїчних та асоціативних сюжетів, що використовуються vcdв Р.

> tab
        period
activity morning noon afternoon evening
  feed        28    4         0      56
  social      38    5         9      10
  travel       6    6        14      13

Для отримання сюжетів:

require(vcd)
mosaic(tab, shade=T, legend=T)
assoc(tab, shade=T, legend=T)

введіть тут опис зображення

введіть тут опис зображення

Обидва інтуїтивно представлені відхилення від очікуваних частот ... За замовчуванням є модель взаємної незалежності , але її можна змінити (наприклад, до спільної незалежності, якщо є чітка змінна відповіді) через expectedаргумент.

Дивись також:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.