geom_path的问题表明条形图中的统计上显着差异

时间:2017-08-10 11:11:38

标签: r ggplot2 mapping geom-bar significance

我想在这里制作一张类似于这些图表的图表Indicating the statistically significant difference in bar graph

考虑以下示例     库(GGPLOT2)

# my data
my_data <- data.frame(x = c("No","Yes"), y=c(5,25), lower = c(1,10), upper = c(15,50))

我用一些错误栏制作一个条形图,效果很好。

my_data %>% ggplot(aes(x=withdrawal,y=estimate)) +
    geom_bar(stat="identity", fill="grey", width=0.5) +
    geom_errorbar(ymin=lower, ymax=upper, width = 0.15) +
    coord_cartesian(ylim = c(0,70))

好的,现在我想添加一些带p值的注释,这也可以。

 my_data %>% ggplot(aes(x=withdrawal,y=estimate)) +
    geom_bar(stat="identity", fill="grey", width=0.5) +
    geom_errorbar(ymin=lower, ymax=upper, width = 0.15) +
    coord_cartesian(ylim = c(0,70)) +
    annotate("text",x=1.5,y=65,label="p<0.001")

enter image description here

好吧,但是现在我想添加一条线来表示条形图中统计上的显着差异。

 my_data %>% ggplot(aes(x=withdrawal,y=estimate)) +
    geom_bar(stat="identity", fill="grey", width=0.5) +
    geom_errorbar(ymin=lower, ymax=upper, width = 0.15) +
    coord_cartesian(ylim = c(0,70)) +
    annotate("text",x=1.5,y=65,label="p<0.001") +
    geom_path(x=c(1,1,2,2),y=c(55,60,60,55))

现在我没有工作。那么geom_path有什么问题?我试图用x更改映射。

 my_data <- data.frame(x = c(1,2), y=c(5,25), lower = c(1,10), upper = c(15,50))

 my_data %>% ggplot(aes(x=withdrawal,y=estimate)) +
    geom_bar(stat="identity", fill="grey", width=0.5) +
    geom_errorbar(ymin=lower, ymax=upper, width = 0.15) +
    coord_cartesian(ylim = c(0,70)) +
    annotate("text",x=1.5,y=65,label="p<0.001") +
    geom_path(x=c(1,1,2,2),y=c(55,60,60,55))

仍然无法正常工作。我该怎么做才能让geom_path工作?

2 个答案:

答案 0 :(得分:1)

在尝试之后,我提出了以下解决方案。

my_data %>% ggplot(aes(x=withdrawal,y=estimate)) +
  geom_bar(stat="identity", fill="grey", width=0.5) +
  geom_errorbar(ymin=lower, ymax=upper, width = 0.15) +
  coord_cartesian(ylim = c(0,70)) +
  annotate("text",x=1.5,y=65,label="p<0.01")
  geom_path(data = data.frame(x=c(1,1,2,2),y=c(58,60,60,58)), aes(x=x,y=y))

这有点凌乱,可能有更好的答案。

答案 1 :(得分:0)

上一篇提出相同问题的帖子可能很有用:Indicating the statistically significant difference in bar graph USING R

ggsignif包是另一种选择。 例如,请参阅介绍性小插图:https://cran.r-project.org/web/packages/ggsignif/vignettes/intro.html