2013-06-10 18 views
6

Это вопрос как о лучших практиках визуального представления данных, так и о том, как рисовать графики в R/ggplot2.Рисование графика для последовательного разделения на категории (R, ggplot2)

Я пытаюсь найти способ графический представлять историю рассказал здесь:

«У нас было 2000 случаев испытаний, из которых 500 имели ошибки После расследования, мы обнаружили, что 400 тестов были большими. и 1600 были маленькими, только у 25 из Больших тестов были ошибки, поэтому мы отложили их, оставив 1600 Малых тестов, из которых 475 были ошибки. Затем мы обнаружили, что 400 из Малых тестов были по часовой стрелке и 1200 были против часовой стрелки, только 20 тестов на Small Hourwise имели ошибки, поэтому мы отложили их, оставив 1200 тестов Small Counter-Clockwise, из которых у 455 были ошибки ».

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

Вот некоторые R с данными:

tests <- data.frame(n.all=c(2000,400,1600,400,1200),n.err=c(500,25,475,20,455),sep.1=as.factor(c("all","Big","Small","Small","Small")),sep.2=as.factor(c("all","all","all","Clockwise","Counter-Clockwise"))) 

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

Что было бы хорошим способом представить эти данные? Я могу думать о нескольких возможностях:

Four possible plots: pie, bar, bar with path, horizontal bar with path

  1. Круговые диаграммы, показывающие ломтики пирога увозят, а разбивка ошибок/ошибок нет в остатках
  2. гистограммам, аналогичный
  3. Гистограмма с лентами, демонстрирующих «поток» разделения прочь категорий, как Minard's chart of Napoleon's march
  4. Похожие, но с гистограммой, показывающая фракции по горизонтали, а не вертикально

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

Как этот вид данных должен быть представлен, и можно ли использовать R/ggplot2?

+0

Посмотрите на упаковке 'vcd'. Но я сказал, что это не очень хороший вопрос для SO. –

+1

Я думаю, что это интересный вопрос, но я согласен, что он может быть слишком открытым для StackOverflow. CrossValidated также иногда приветствует вопросы визуализации данных, которые более концептуальны, чем связанные с программированием. Я бы, возможно, попросил там в чате или что-то еще, прежде чем спрашивать, просто, чтобы быть уверенным. – joran

+0

Да, когда вы знаете, какую визуализацию вы хотите, верните, если у вас возникли трудности с кодом – alexwhan

ответ

0

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

Я также прибывают под номером 4 по чистой ликвидации:;)

Столбцы не пригодны, так как вы комбинируя вертикальное представление с горизонтальным потоком, сравнивая круговые диаграммы, также не легко сделать (даже в пределах круговой диаграммы уже сложно сравнивать разные части), поэтому они также не являются опцией. Оставляя вас с опцией 4 действительно :)

Вы также можете попробовать диаграмму Санки.Sankey Diagrams in R? может быть полезно

Смежные вопросы