这是最初在这里提出的一个问题的重复:Indicating the statistically significant difference in bar graph,但要求使用R而不是python。
我的问题很简单。我想在R中使用ggplot2生成条形图,并指出不同条形之间的显着差异,例如产生这样的东西。我已经搜索了一下,但是找不到另一个问完全相同的问题。
最佳答案
您可以使用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")