добавление столбцов SEM к графику ggline, когда SEM уже рассчитывается в наборе данных - PullRequest
3 голосов
/ 01 апреля 2020

У меня есть набор данных, который выглядит следующим образом

well    time        mm          sem
x       basal       83.96792    8.068338
x       stimulus1   153.17250   8.338465
x       recovery    60.45712    5.97283
x       stimulus2   154.26550   6.533665

и график, который сделан из этого кода

    ggline(df, x = 'time', y = 'mm', color = 'well', palette = c("#00AFBB", "#E7B800")) + 
  theme_grey()

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

есть идеи как go об этом?

1 Ответ

3 голосов
/ 01 апреля 2020

Вы можете написать:

ggplot(df, aes(x  = time, y = mm, group = well)+
   geom_point()+
   geom_line()+
   geom_errorbar(aes(ymin = mm-sem, ymax = mm+sem), width = 0.2)

Таким образом, оно должно выглядеть следующим образом:

enter image description here

Но на основе вашего фрейма данных и Ваш код, я думаю, вы больше ищете что-то вроде этого:

ggplot(df, aes(x = factor(time,unique(time)), y =mm, group = well, color = time))+
  geom_point()+
  geom_errorbar(aes(ymin = mm-sem, ymax = mm+sem), width = 0.2)+
  scale_color_manual(values = rep(c("#00AFBB", "#E7B800"),2))

enter image description here

Это ответ на ваш вопрос?


Воспроизводимый пример

structure(list(well = c("x", "x", "x", "x"), time = c("basal", 
"stimulus1", "recovery", "stimulus2"), mm = c(83.96792, 153.1725, 
60.45712, 154.2655), sem = c(8.068338, 8.338465, 5.97283, 6.533665
)), row.names = c(NA, -4L), class = c("data.table", "data.frame"
))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...