使用ggplot显示置信区间

时间:2020-05-04 00:44:14

标签: r

我是R的新手,并且在绘制时遇到问题。非常感谢您的帮助。

这是任务

我必须构建一个数据包杜鹃数据集杜鹃的平均值和99%置信区间(基于t分布)的图。

这是我的解决方法

ggplot(data=cuckoos, aes(x=species, y=length, colour=species)) + stat_summary(geom='pointrange', fun.args = list(mult=1)) + theme_dark() + theme(legend.position="none", axis.text = element_text(size=10), axis.text.x = element_text (angle = 45, hjust = 1))+ scale_colour_brewer(palette = "Pastel1")+ coord_cartesian(ylim=c(21,24))

结果图的置信区间与正确答案不符(请参见所附图像)。可能是什么问题?

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

stat_summary函数的默认函数为mean_se,这意味着您实际上正在获取均值和标准差。如果要计算99%的置信区间,则需要使用mean_cl_normal函数并指定要获取0.99的置信区间,而不是默认的0.95。

ggplot(data= DAAG::cuckoos, aes(x=species, y=length, colour=species)) +
    stat_summary(geom='pointrange', fun.data = "mean_cl_normal", fun.args = list(conf.int = 0.99)) + 
    theme_dark() + 
    theme(legend.position="none", axis.text = element_text(size=10), axis.text.x = element_text (angle = 45, hjust = 1)) +
    scale_colour_brewer(palette = "Pastel1") +
    coord_cartesian(ylim=c(21,24))