[R] indicating significant differences in boxplots

Jim Lemon jim at bitwrit.com.au
Mon Jul 7 13:36:02 CEST 2008


On Mon, 2008-07-07 at 11:19 +0200, Sebastian Merz wrote:
> Hi all!
> 
> Writing a paper using a lot of boxplots I was asked to mark the
> significant differences between plotted groups using "stars on
> top". 
> 
> These stars are found freqeuntly in medical papers and printed
> above boxplots when there is a significant difference (usually using a
> bar to indicate which groups are meant if there are more then two in a
> plot). 
> 
> I was able to calculate whatever test, check the significance and
> depending on it to put a star (written with text-function) between
> two groups in a boxplot. But I was not
> able to make the text between two groups apear above the actual
> plotting region nor to draw a simple line, indicating which plots are
> meant. Also this solution seems to more of a hack then actual
> programming.
> 
> Is there a better way to solve this issue? Any ideas where
> to look?
> 
Hi Sebastian,
If I understand you correctly, try this boxplot example:

boxplot(count ~ spray, data = InsectSprays, col = "lightgray")

and we'll assume that the second and third boxplots require a star:

par(xpd=TRUE)
yrange<-par("usr")[3:4]
ypos<-yrange[2]+diff(yrange)/40
segments(2,ypos,3,ypos)
text(2.5,ypos+diff(yrange)/40,"*",cex=2)
par(xpd=FALSE)

With a bit more effort, you could set up tests of differences, collect
the significant ones and automatically call a function like the above
that would stick stars above the significantly different groups.

Jim



More information about the R-help mailing list