[R] box-and-whisker plots based on summary not data

David Winsemius dwinsemius at comcast.net
Mon Dec 20 15:20:19 CET 2010

On Dec 20, 2010, at 8:33 AM, Matthew Vernon wrote:

> Matthew Vernon <M.C.Vernon at warwick.ac.uk> writes:
>> Is it possible to produce box-and-whisker plots given that I have the
>> median, interquartile and 5/95th centile values, but not the data  
>> from
>> which they come?

Please note that the whiskers of the default BWP are NOT at the 5th  
and 95th percentiles although I would have guessed that they were too  
before I looked a closely at the code and the help pages. They are at  
the most extreme data points which do not exceed 1.5 times the box  
values which in turn are at "versions of the first and third quartiles".

(So , no,  you cannot get what boxplot would have given unless you  
have the IQR values and all of the data outside those values. You can,  
of course, make up your own approach and use the boxplot machinery for  
plotting .... as long as you inform your audience what you are  

> The answer, which came from Steve Ellison (thanks!) is to note that
> "stats" is the only bit of the "z" argument to bxp that has to be
> present, so given a data file with columns year,mean,median,centiles,
> something like this works:
> # transform data so the rows are the various centiles in order
> # there's probably a more elegant approach!
> bsr <- matrix(allobs[,c(4,5,3,6,7)],nrow=5,byrow=TRUE)
> # column 1 is the year, which is our factor
> bsbox <- list( stats=bsr,names=allobs$V1)
> bxp(bsbox,xlab="Year",ylab="Number of cattle per batch")
> I thought I'd follow-up so the answer to my question will be in the
> archives.
> Thanks,
> Matthew

David Winsemius, MD
West Hartford, CT

More information about the R-help mailing list