当置信区间的上限值和下限值时绘制ggplot()

时间:2019-05-03 13:39:45

标签: r ggplot2

请耐心等待,因为我是R语言(尤其是ggplot())的新手。这是我第二次询问有关此功能使用的信息。我想创建一个类似于以下内容的情节:

enter image description here

出于这种目的,我一直在使用如下所示的脚本:


df <- tibble::tribble(~Proportion, ~Error, ~Time,
                      0.351 , 0.154, "Day",
                      0.223 , 0.157 , "Night")

dfnew <- df %>% 
  mutate(ymin = Proportion - Error,
         ymax = Proportion + Error)

p <-   ggplot(data = dfnew, aes(x = Time, y = Proportion)) +
  geom_point() + geom_line(aes(group = 1), color="lightblue",size=2) + 
  geom_errorbar(aes(x = Time, ymin = ymin, ymax = ymax),color="purple",width=0.1,size=1)


p<-p+theme(axis.text=element_text(size=12),
        axis.title=element_text(size=14))

但是,我现在面临的问题是,置信区间的数据应包括上限值和下限值,而不是上面脚本中的错误值。我的数据如下:

> df
# A tibble: 2 x 4
  Average Lower Upper Time 
    <dbl> <dbl> <dbl> <chr>
1   0.351 0.284 0.421 Day  
2   0.223 0.178 0.275 Night

关于如何将这两个LowerUpper值实现到错误栏中的任何想法吗?

感谢任何输入!

1 个答案:

答案 0 :(得分:0)

有帮助吗?

使用新数据:

df2 <- read.table(
  header = T,
  stringsAsFactors = F,
  text = "  Average Lower Upper Time
1   0.351 0.284 0.421 Day  
2   0.223 0.178 0.275 Night"
)

并稍微修改绘图数据源:

ggplot(data = df2, aes(x = Time, y = Average)) +
  geom_point() +
  geom_line(aes(group = 1), color="lightblue",size=2) + 
  geom_errorbar(aes(x = Time, ymin = Lower, ymax = Upper),
                color="purple",width=0.1,size=1)

我得到这张图:

enter image description here

我的视线看起来很矫正,但我可能会想念您捡到的东西。让我知道。