【问题标题】:ggplot wont show confidence intervalsggplot不会显示置信区间
【发布时间】:2018-07-20 18:50:23
【问题描述】:

我有一个长格式的数据框df(每年有几次观察)。我想用置信区间绘制变量 length 的平均值。我使用此代码:

ggplot(df[df$year>2004,],aes(x=year, y=length)) +
    stat_summary(fun.data = "mean_cl_boot", geom = "smooth") +
    xlab("") + ylab("Report Length") +
    scale_x_continuous(breaks = seq(2005, max(df$year), by = 2))

我上次运行此代码时,它给了我想要的确切图表:,但这次没有显示置信区间: 我没有更改代码,但我确实更新了所有包,现在我无法获得置信区间。

【问题讨论】:

  • 我想你会让他们添加se = TRUE。据我所知,这是默认设置,所以我不确定为什么没有它就不会显示。
  • 数据一样吗?
  • @aosmith 谢谢,确实解决了问题! @PoGibas 是的,数据是一样的。但是,我在此处发布的图之间的数据并不完全相同,因为第一个图是在我操纵长度变量时完成的(因此 y 轴存在差异),但这是我上次成功运行后剩下的唯一图CI。

标签: r ggplot2


【解决方案1】:

按照@aosmith 的建议添加se = TRUE,解决了这个问题。现在的代码如下所示:

ggplot(df[df$year>2004,],aes(x=year, y=length)) +
    stat_summary(fun.data = "mean_cl_boot", geom = "smooth", se = TRUE) +
    xlab("") + ylab("Report Length") +
    scale_x_continuous(breaks = seq(2005, max(df$year), by = 2))

目前尚不清楚为什么它在没有指定 se = TRUE 的情况下之前可以工作并且现在不能工作。

【讨论】:

  • 看起来这在fix 中已更改为this issue,其中stat_summary 默认为se = FALSE
  • 感谢您提供此信息@aosmith,这澄清了一切。
猜你喜欢
  • 2015-09-14
  • 1970-01-01
  • 2021-02-05
  • 2018-09-06
  • 1970-01-01
  • 1970-01-01
  • 2021-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多