[R] Boxplot BUT with Mean, SD, Max & Min ?
phil at pricom.com.au
Mon Sep 26 19:45:16 CEST 2011
On 2011-09-27 02:51, Gabor Grothendieck wrote:
> On Mon, Sep 26, 2011 at 12:11 PM, Philip Rhoades <phil at pricom.com.au>
>> On 2011-09-27 00:35, Gabor Grothendieck wrote:
>>> On Mon, Sep 26, 2011 at 9:56 AM, Philip Rhoades
>>> <phil at pricom.com.au>
>>>> It appears that there is no way of getting Boxplots to plot using
>>>> Max & Min - is there something else that would do what I want? I
>>>> find it . .
>>> Try replacing the stats component of boxplot's output with your
>>> desired statistics and then feeding that into the lower level bxp
>>> function to do the graphics:
>>> bp <- boxplot(Nile, plot = FALSE)
>>> bp$stats <- matrix(c(min(Nile), mean(Nile) + c(-1, 0, 1) *
>> Thanks for that! What is the syntax when there is more than one set
>> of data
>> (ie a two dimensional vector)? I tried messing around with stuff
>> mean(Nile[,2] etc
>> but I get subscript out of range errors . .
> Bill's example shows how to do it with a list of numeric vectors.
> Here is another example using the built in anscombe and making use of
> my prior code, Bill's and Vining's:
> bp <- boxplot(anscombe, plot = FALSE)
> bp$stats <- sapply(anscombe, function(x) c(min(x), mean(x) + c(-1, 0,
> 1) * sd(x), max(x)))
> bxp(bp, outline = FALSE)
Interesting! - I've learnt something about anscombe and sapply and
other stuff (thanks again!) but I think I mis-spoke before. I think
what I want is a list of numeric vectors but when I created tarr:
tarr <- array( dim = c( 5,3 ), c( 1,2,3,4,5,2,3,4,5,6,3,4,5,6,7 ) )
I couldn't get it to work with the original code . . now I have had a
closer look at Bill's code . .
On the original question though, why isn't there something "off the
shelf" that will do what I want? Surely, a "boxplot" using mean, SD,
max and min would be a common enough need to justify it?
GPO Box 3411
Sydney NSW 2001
E-mail: phil at pricom.com.au
More information about the R-help