Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: qplot , over()
From
Nick Cox <[email protected]>
To
[email protected]
Subject
Re: st: qplot , over()
Date
Sat, 24 Mar 2012 08:16:42 +0000
I think you meant
bysort foreign (mpg) :
Either way, the -egen- route is convenient because it does the right
thing with missing values.
More importantly, I agree with the broad point. We are often flipping
between two opposite truths:
1. A dedicated program does almost all the work for you, including
dealing with awkward details.
2. If you break down the problem into soluble sub-problems, you can
work out the problem yourself with a few lines of code.
Nick
On Fri, Mar 23, 2012 at 10:17 PM, Keith Dear <[email protected]> wrote:
> Thanks Nick, the new version does what I wanted.
>
> In passing -- while I agree it's not hard to DIY this, in fact this is
> a nice example of why it's better to use a provided (authorised)
> program when possible. Instead of your careful code, I would have
> written:
> . bys mpg (foreign): gen pp=(_n-0.5)/_N
> It took me some thought to see why you didn't do it that way (they
> give exactly the same result for the auto data).
> Keith
>
>
> On 23 March 2012 23:53, Nick Cox <[email protected]> wrote:
>> By the way, a do-it-yourself approach is easier than might be thought
>>
>> sysuse auto, clear
>> egen rank = rank(mpg), unique by(foreign)
>> egen n = count(mpg), by(foreign)
>> gen pp = (rank - 0.5 ) / n
>> separate mpg, by(foreign) veryshortlabel
>> scatter mpg? pp
>>
>> SJ-7-2 gr0027 . . Stata tip 47: Quantile-quantile plots without programming
>> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox
>> Q2/07 SJ 7(2):275--279 (no commands)
>> tip on producing various quantile-quantile (Q-Q) plots
>>
>> Note that this recipe is strong enough to cope with ties and missing
>> values and flexible in that you can insert your own definition of
>> plotting positions (-pp- above) if you don't like (i - 0.5) / n for
>> some reason.
>>
>> Nick
>>
>> On Fri, Mar 23, 2012 at 12:36 PM, Nick Cox <[email protected]> wrote:
>>> In revising -qplot- for SJ 10-4 I inadvertently introduced a bug in
>>> implementation of the -over()- option. I thought no one had noticed
>>> but me, but Keith has been bitten by it.
>>>
>>> The bug has already been fixed in a update due shortly in SJ 12-1. I
>>> will send Keith a copy of the revised files.
>>>
>>> Nick
>>>
>>> On Fri, Mar 23, 2012 at 12:22 PM, Keith Dear <[email protected]> wrote:
>>>
>>>> How can I get several quantile plots in one diagram?
>>>> (There have been past threads on this, but I found no mention of what
>>>> I am getting.)
>>>>
>>>> sysuse auto
>>>> replace mpg=mpg/2 if foreign // for greater separation
>>>> qplot mpg, by(foreign) // two distinct curves, which I would like
>>>> to plot together
>>>> qplot mpg, over(foreign) // points on a single curve, not what I expected
>>>>
>>>> Am I misunderstanding the help file? It seems to imply that by() and
>>>> over() give the same set of curves, which is what I want but isn't
>>>> what happens:
>>>>
>>>> ---- help qplot
>>>> by(varname[, suboptions]) specifies that calculations be carried out
>>>> separately for each distinct value of a
>>>> specified single variable. Results will be shown separately in
>>>> distinct panels. See [G] by_option.
>>>> over(varname) specifies that calculations be carried out separately
>>>> for each distinct value of a specified
>>>> single variable. Curves will be shown together within the
>>>> same panel. over() is only allowed with a single
>>>> varname.
>>>> ----
>>>>
>>>> -qplot- is by NJC out of -net install gr42_5.pkg-
>>
*
* 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/