Я надеюсь получить некоторую помощь в том, чтобы следующая гистограмма выглядела как можно лучше и понятнее. Я планирую зарплату иммигрантов против рабочих из США. Мне интересно 1. Как бы вы изменили цвета, интервалы осей и т. Д., Чтобы сделать график более четким / привлекательным? 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

0
juliah0494 4 Май 2020 в 01:26

2 ответа

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

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

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
Chris Ruehlemann 4 Май 2020 в 09:02

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

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

0
Jan 4 Май 2020 в 07:40