Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: st: Re: RE: RE: Re: Re: Displaying mean in boxplot


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   RE: st: Re: RE: RE: Re: Re: Displaying mean in boxplot
Date   Mon, 13 Oct 2008 10:01:46 +0100

The second example, like the first, requires that -mean- exists as a
variable first, 
e.g. from 

egen mean = mean(mpg), by(foreign) 

Thanks to Martin for the correction. 

Nick
n.j.cox@durham.ac.uk 

Aca N.T.

Thanks Nick, it works well. I didnt get any error message as Martin
did..

On Mon, Oct 13, 2008 at 5:12 AM, Martin Weiss <martin.weiss1@gmx.de>
wrote:

> Is "mean" defined somewhere in this code? I get "r(111)" "variable
mean not
> found"...

"Nick Cox" <n.j.cox@durham.ac.uk>

>> Example of orthodox box plot follows. N.B. that this requires prior
>> installation of -egenmore- from SSC.
>>
>> sysuse auto, clear
>>
>> egen adju = adju(mpg), by(foreign)
>>
>> egen adjl = adjl(mpg), by(foreign)
>>
>> egen loq = pctile(mpg), by(foreign) p(25)
>>
>> egen upq = pctile(mpg), by(foreign) p(75)
>>
>> stripplot mpg, ///
>> over(foreign) ms(none) box(bfcolor(ltblue)) yla(, noticks) pstyle(p1)
>> ///
>> addplot(rcap adjl adjl foreign, horizontal pstyle(p1) ///
>>   ||  rcap adju adju foreign, horizontal pstyle(p1) ///
>>   ||  rspike upq adju foreign, horizontal pstyle(p1) ///
>>   ||  rspike loq adjl foreign, horizontal pstyle(p1) ///
>>   ||  scatter foreign mpg if !inrange(mpg, adjl, adju), mcolor(navy)
>> ///
>>   ||  scatter foreign mean, ms(D) mcolor(navy)  msize(*2))

Nick Cox

>> One way to do this through marker symbols, as requested, is through
>> -stripplot- from SSC.
>>
>> sysuse auto, clear
>>
>> egen mean = mean(mpg), by(foreign)
>>
>> stripplot mpg, over(foreign) box stack centre height(0.2) ms(sh)
>> addplot(scatter foreign mean, ms(Dh) msize(*3))
>>
>> With more work, you can come arbitrarily close to more conventional
>> forms of the box plot.

Martin Weiss

>> Admittedly, my earlier solution did not give you the dot you were
>> looking
>> for, but a reference line. If you have Stata 10, fire up the graph
>> editor
>> afterwards, use the -add marker- tool and place the marker onto the
>> reference line. Then highlight the reference line and kill it...
>> If -gr box- were part of the -twoway- family of graphs, one could
>> imagine
>> overlaying it with a -scatteri- to get the mean onto the graph more
>> reliably
>> than this...
>>
>>> **********
>>> sysuse auto, clear
>>> su price, mean
>>> graph box price, box(1, fcolor(none)) yline(`r(mean)')
>>> **********

Aca N.T.

>>>> Does anyone know how to put mean (preferably marked as dot) within
>>
>> the
>>>>
>>>> box using -gr box-?

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index