Создание столбчатой ​​диаграммы с накоплением с указанными значениями шкалы ошибок в R

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

Например, если мой фрейм данных был:

x<-data.frame(
  Period = c("B1","D1a"),
  Sample = c("Glucose","Glucose"),
  Mi = c(2,3),
  M0 = c(4,6)
)

Я могу создать нужную мне диаграмму с помощью этого кода:

mx <- melt(x,  id.vars=1:2)
ggplot(mx, aes(x=Period, y=value, fill=variable), xLabels=NA) +
  geom_bar(stat="identity") +
  facet_grid(~Sample) +
  scale_fill_manual(values = c("grey69","black")) +
  theme_bw() +
  xlab("") + 
  ylab ("")

Итак, как мне добавить полосу ошибок для каждого из них, если мои доверительные интервалы для каждого из них равны B1, Mi = 0,5, B1, M0 = 0,2, D1a, Mi = 0,1, D1a, M0 = 0,2

Как сделать столбцы ошибок на каждом из участков гистограммы?

Спасибо


person Jennifer Matthews    schedule 08.09.2016    source источник


Ответы (1)


Сначала добавьте верхнюю и нижнюю границы к вашему mx фрейму данных:

library(dplyr)
mx <- mx %>% group_by(Period) %>%
  mutate(pos = cumsum(value)) %>%
  ungroup() %>%
  mutate(ci = c(.5, .1, .2, .2),
         upper = pos + ci/2,
         lower = pos - ci/2)

Затем добавьте geom_errorbar к вашему графику:

ggplot(mx, aes(x=Period, y=value, fill=variable), xLabels=NA) +
  geom_bar(stat="identity") +
  geom_errorbar(aes(ymin = lower, ymax = upper), width = .2, col = "red") +
  facet_grid(~Sample) +
  scale_fill_manual(values = c("grey69","black")) +
  theme_bw() +
  xlab("") + 
  ylab ("")

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

person Weihuang Wong    schedule 08.09.2016
comment
Добро пожаловать в SO и будем рады помочь. Если этот ответ решил вашу проблему, отметьте его как принятый. - person Weihuang Wong; 09.09.2016