R 在数据集中已计算SEM时,将SEM条添加到曲线图

R 在数据集中已计算SEM时,将SEM条添加到曲线图,r,ggplot2,standard-error,R,Ggplot2,Standard Error,我有一个像这样的数据集 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 = 'tim

我有一个像这样的数据集

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),使图表看起来像这样

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
你知道怎么做吗?

你可以写:

ggplot(df,aes(x=time,y=mm,group=well)+
几何点()+
geom_线()+
几何误差条(aes(ymin=mm sem,ymax=mm+sem),宽度=0.2)
因此,它应该看起来像:

但基于您的数据帧和代码,我认为您更希望看到这样的东西:

ggplot(df,aes(x=factor(time,unique(time)),y=mm,group=well,color=time))+
几何点()+
几何误差条(aes(ymin=mm sem,ymax=mm+sem),宽度=0.2)+
比例颜色手册(值=代表(c(“#00AFBB”),“#E7B800”),2))

它回答了你的问题吗


可复制示例

结构(列表(井=c(“x”,“x”,“x”,“x”,“x”),时间=c(“基础”), “刺激物1”、“恢复”、“刺激物2”),mm=c(83.96792153.1725, sem=c(8.068338,8.338465,5.97283,6.533665 )),row.names=c(NA,-4L),class=c(“data.table”,“data.frame” ))