Я не знаю, как называются такие сюжеты, и поэтому я дал этому вопросу глупое название.
Допустим, у меня есть заказанный набор данных следующим образом
4253 4262 4270 4383 4394 4476 4635 ...
Каждое число соответствует количеству публикаций, которые определенный пользователь внес на сайт. Я эмпирически исследую феномен «неравенства участия», как он здесь определен .
Чтобы было легче понять, я хотел бы подготовить сюжет, который позволяет читателю быстро вывести утверждения, такие как «10% пользователей предоставляют 50% данных». Вероятно, он должен выглядеть примерно так: зарисовка довольно паршивая:
Я понятия не имею, как это называется, поэтому я не знаю, где искать. Кроме того, если бы у кого-то была реализация R
, это было бы здорово.
r
distributions
data-visualization
wnstnsmth
источник
источник
ecdf
вR
течение начала. Термин «эмпирическая кумулятивная функция распределения». Возможно, вас также заинтересуют «графики вероятности» и «графики QQ»: они являются версиями ECDF, показывающими данные в различных (нелинейных) масштабах.ecdf
и использовал его раньше, но «классическим» образом ось X показывает количество сообщений, а ось Y - их вероятность. Я не знаю, как сделать что-то, как указано выше.Ответы:
Если вы хотите сделать это просто с помощью основных
R
команд, то следующие коды могут помочь.Сначала вы читаете данные.
Тогда вы можете увидеть вклад каждого пользователя.
Вы также можете увидеть, сколько вкладывают первые два, три, четыре, ..., семь человек.
Наконец, вы можете получить желаемый график (в пропорциях по обеим осям) с помощью следующих команд:
Я пометил оси, как вы хотели. Это может дать вам четкое представление о том, какой процент данных вносится определенной долей людей.
источник
Я нашел способ быстро визуализировать кривую Лоренца
ggplot2
, что привело к получению более эстетичной и удобной для интерпретации графики. По этой последней причине я отразил кривую Лоренца на диагональной линии, что, если вы спросите меня, приводит к более интуитивной форме. Он также содержит строки аннотаций, которые должны облегчить объяснение сюжета (например, «5% самых популярных пользователей составляют 50% данных»). Внимание: поиск подходящего места для строки аннотации использует довольно идиотскую эвристику и может не работать с меньшим набором данных.Пример данных:
Код:
источник
Еще два способа сделать это, поскольку я недавно работал над этим для клинических испытаний вакцин:
1. Используйте Hmisc Ecdf. Это просто и понятно, хотя немного сложно выяснить детали изменения различных элементов графика.
2.Рассчитать совокупное распределение, а затем 1-кумулятивный обратный кумулятивный. Нарисуйте обратное, используя ggplot2, используя geom_step, если вам нравится пошаговая функция на графике. Функция ниже будет использовать ecdf из базы r, чтобы получить кумулятивное распределение, а затем 1-кумулятивное:
в приведенном выше rcdf - определенная пользователем функция, определенная с использованием ecdf.
источник