Barplot with significant differences and interactions?

后端 未结 3 2065
广开言路
广开言路 2020-12-28 10:02

I would like to visualize my data and ANOVA statistics. It is common to do this using a barplot with added lines indicating significant differences and interactions. How do

3条回答
  •  时光说笑
    2020-12-28 10:38

    I guess that now your question has been more or less addressed, so I will instead encourage you to use different method that is much better in visual representation of your data - dotplots. As an example compare your barplot to the dotplot constructed with similar data points:

    #example data similar to your barplot
    d <- data.frame(group=rep(c("control","group1","group2"),each=4),
                    esker=c(1.6,1.4,1.8,1.5,2,1.8,1.6,1.4,2.3,2,1.7,1.4),
                    se=rep(0.1,12),
                    cond=rep(c("t1","t2","t3","t4"),3))
    #dotplot - you need Hmisc library for version with error bars
    library(Hmisc)
    Dotplot(cond ~ Cbind(esker, esker+se, esker-se) | group, data=d, col=1, 
            layout=c(1,3), aspect="xy",
            par.settings = list(dot.line=list(lwd=0), plot.line=list(col=1)))
    

    enter image description here

    Compare it to barplot. In the dotplot, it's much easier to see the differences when plotted horizontally, you don't need extra legend or bars or colours to show you the conditions, you don't need the guidelines and other noisy elements. You have everything contained within those three panels. Of course, I understand that you might want to highlight your significant effects, and that maybe it works fine for a small number of conditions. But if number of factor increases, the plot would overflow with stars and shit.

    Keep it simple. Keep it dotplot. Check William Cleveland and Edward Tufte books for more on this.

提交回复
热议问题