# [R] Boxplot BUT with Mean, SD, Max & Min ?

Mon Sep 26 19:45:16 CEST 2011

```Gabor, Bill,

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>
> wrote:
>> Gabor,
>>
>>
>> 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>
>>> wrote:
>>>>
>>>> People,
>>>>
>>>> It appears that there is no way of getting Boxplots to plot using
>>>> Mean,
>>>> SD,
>>>> Max & Min - is there something else that would do what I want?  I
>>>> couldn't
>>>> 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) *
>>> sd(Nile),
>>> max(Nile)))
>>> bxp(bp)
>>
>>
>> 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
>> like:
>>
>>  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?

Thanks,

Phil.

--