Создание хорошей наложенной гистограммы в R с помощью ggplot - PullRequest
0 голосов
/ 04 мая 2020

Я надеюсь получить некоторую помощь, чтобы следующая гистограмма выглядела как можно лучше и понятнее. Я планирую зарплату иммигрантов против рабочих из США. Мне интересно 1. Как бы вы изменили цвета, интервалы осей и т. Д. c. сделать график более четким / привлекательным? 2. Как я могу добавить ключ, указывающий, что фиолетовый предназначен для рабочих, родившихся в США, а розовый - для иностранцев? 3. Как добавить две разные строки для обозначения медианы каждой группы? И соответствующий ярлык для каждого?

Мой текущий код настроен так:

 ggplot(NHIS1,aes(x=adj_SALARY, y=..density..)) +
geom_histogram(data=subset(NHIS1,IMMIGRANT=='0'), alpha=.5,binwidth=800, fill="purple",position="identity") + xlim(4430.4,50000) + 
    geom_vline(xintercept=median(NHIS1$adj_SALARY), col="black", linetype="dashed") + 
geom_histogram(data=subset(NHIS1,IMMIGRANT=='1'), alpha=.5,binwidth=800,fill="red") + xlim(4430.4,50000)
    geom_vline(xintercept=median(NHIS1$adj_SALARY), col="black", linetype="dashed") 

И моя последняя гистограмма на данный момент выглядит так:

enter image description here

Ответы [ 2 ]

1 голос
/ 04 мая 2020

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

Предполагая, что это примерно как ваши данные:

df <- data.frame(income = sample(1000:5000, 1000),
                 born = sample(c("US", "Foreign"), 1000, replace = T))

Тогда грубый способ построить один гистограмма, а также линии плотности для двух групп будут такими:

ggplot(df, aes(x=income, color=born, fill=born)) + 
  geom_histogram(aes(y=..density..), alpha=0.5, binwidth=100,
                 position="identity") +
  geom_density(alpha=.2)
0 голосов
/ 04 мая 2020

Этот вопрос задавался ранее: overlaying-histograms-with-ggplot2-in-r обсуждает несколько вариантов со многими примерами. Вы обязательно должны взглянуть на это.

Еще один вариант сравнения дистрибутивов может быть на графиках скрипки с использованием geom_violin(). Я считаю, что скриптовые графики - лучший вариант, когда вам нужно сравнивать дистрибутивы, потому что они дают вам большую гибкость и все еще более понятны. Но это может быть только я. См. примеры в руководстве .

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