表示柱状图的统计学差异显著基于R(Indicating the statistically sign

2019-07-20 04:07发布

这是一个问题的重复原来在这里问: 表示条形图的统计显著差异 ,但要求对R,而不是蟒蛇。

我的问题很简单。 我想生产中的R barplots,使用GGPLOT2如果可能的话,在不同的酒吧之间显著差异的指示,如产生这样的事情。 我有一个周围搜索,但无法找到另一个问题正好问同样的事情。

Answer 1:

您可以使用geom_path()annotate()来获得类似的结果。 在这个例子中,你必须自己确定合适的位置。 在geom_path()提供四个数字让那些小刻度线的连接线。

df<-data.frame(group=c("A","B","C","D"),numb=c(12,24,36,48))
g<-ggplot(df,aes(group,numb))+geom_bar(stat="identity")
g+geom_path(x=c(1,1,2,2),y=c(25,26,26,25))+
  geom_path(x=c(2,2,3,3),y=c(37,38,38,37))+
  geom_path(x=c(3,3,4,4),y=c(49,50,50,49))+
  annotate("text",x=1.5,y=27,label="p=0.012")+
  annotate("text",x=2.5,y=39,label="p<0.0001")+
  annotate("text",x=3.5,y=51,label="p<0.0001")



Answer 2:

我知道这是一个老问题,并通过Didzis Elferts答案已经为这个问题的解决方案。 但我最近建立了一个ggplot扩展,简化了添加的意义棒的全过程: ggsignif

取而代之的繁琐加入geom_pathannotate到你的阴谋,你只需要添加一个单层geom_signif

library(ggplot2)
library(ggsignif)

ggplot(iris, aes(x=Species, y=Sepal.Length)) + 
  geom_boxplot() +
  geom_signif(comparisons = list(c("versicolor", "virginica")), 
              map_signif_level=TRUE)

包的完整文档,请在CRAN 。



Answer 3:

我从上面使用所提出的方法,但我发现用于制备比geom_path函数行注释功能更容易。 只要使用“段”,而不是“文本”。 你必须段打破上去,并定义开始和每个线段结束x和y的值。

例如用于制备3个段:

annotate("segment", x=c(1,1,2),xend=c(1,2,2), y= c(125,130,130), yend=c(130,130,125))


文章来源: Indicating the statistically significant difference in bar graph USING R