【问题标题】:Plotting confidence interval of the means on ggplot在ggplot上绘制均值的置信区间
【发布时间】:2020-08-04 09:49:27
【问题描述】:

我有 10 个不同的试验(每个试验都有自己的数据集)。我已经找到了从模型中获取的预测值,并使用预测值创建了一个新列。

我通过rbind()将每个试验的所有 x、y 和 predict.y 值限制在一个数据帧中

我想绘制具有相同 x 值(预测值)的所有 y 值的平均值,并使用 geom_ribbon 而不是误差线绘制置信区间。

我已经提到了这个链接:plotting the means with confidence intervals with ggplot,但是,当我绘制stat_summary(geom="ribbon", fun.data=mean_cl_normal, fun.args=list(conf.int=0.95), fill="lightblue") 时,ggplot 没有绘制任何东西,但它也没有出现任何错误,所以我不确定出了什么问题。

是否有另一种方法可以使用不同的代码获得相同的结果?还是我限制值和数据集的方式有问题?

更多信息

这是合并后的数据

y<dbl> x<dbl> predy<dbl>
0.300   83.69   0.3292044030        
0.312   83.69   0.3291121879        
0.324   83.69   0.3291012056        
0.330   83.69   0.3287549029        
0.330   83.61   0.3291187262        
0.335   83.57   0.3293862893        
0.334   83.36   0.3303592465        
0.329   82.79   0.3328754639        
0.324   82.55   0.3339801283        
0.323   82.92   0.3319657277        

当我使用代码时:

 ggplot(ASframe, aes(x=x, y=y))+
 stat_summary(geom="ribbon", fun.data=mean_cl_normal, fun.args=list(conf.int=0.95), fill="lightblue")+
  stat_summary(geom = "line", fun = mean, linetype = "dashed")+
  stat_summary(geom = "point", fun=mean, color= "red", alpha = I(0.5)) +
  ylim(-0.1, 0.6)

结果出来了:

【问题讨论】:

  • 您好,感谢您的提问!我们愿意帮助您,但您能提供一个minimal reproducible example 吗?如果你有一个数据集,你可以将dput(your.data.frame) 的结果粘贴到你的问题中(或者如果非常大,可以通过dput(your.df[sample(nrow(your.df), num),] 粘贴一个样本。另外,你能发布你用于绘图的整个代码吗?最后:通过“不绘制任何东西”是指你完全空白(白色)还是你得到了绘图区域,但没有几何图形?
  • 您好!我试图提供一个可重现的示例,我绘制了所有其他几何图形并显示了,而 geom="ribbon" 未显示在图上。
  • 嗨@jinahyejin,可重现意味着如果我采用上面的代码,我可以说尽快制作与您相同的情节。这样,我们就可以知道错误发生在哪里,或者如何帮助您解决问题
  • 看看你有什么,如果预测值来自模型(例如 gam);您应该能够从中获得预测的标准误差。你应该用它来绘制你的 c.i.再次缺少此信息

标签: r ggplot2 confidence-interval


【解决方案1】:

欢迎来到 SO。如果没有可重复的示例https://stackoverflow.com/help/minimal-reproducible-example,很难回答这个问题。我会尝试 geom_smooth 选项。这是一个使用 geom_smooth 绘制置信区间的可重现示例,希望能帮助您入门。

#plot for sepal length and petal length of setosa species
 ggplot(subset(iris, iris$Species=="setosa"),aes(Sepal.Length,Petal.Length))+
    geom_point(position="jitter")+
    geom_smooth()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    相关资源
    最近更新 更多