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: Adding "if group==1" option to a short program -- or ",by(group)"
From
Nick Cox <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: Adding "if group==1" option to a short program -- or ",by(group)"
Date
Tue, 2 Jul 2013 09:16:15 +0100
Not for the first time Maarten and I wrote very similar replies
simultaneously. Start with his version but fold in sample size
checking and the punctuation correction.
Nick
[email protected]
On 2 July 2013 09:11, Maarten Buis <[email protected]> wrote:
> On Tue, Jul 2, 2013 at 9:51 AM, Marta García-Granero wrote:
>> I have written this short program:
> <snip>
>> I couldn't find how to modify it to be able to accept the selection
>> of subgroups based on a second variable, like:
>>
>> skr2 iron if group==1
>>
>> or maybe
>>
>> skr2 iron, by(group)
>
> For allowing the -if- condition see: -help syntax-, for making the
> program byable, see -help byable-. Below is an example. In addition to
> the -if- condition I also allow the -in- condition. I also store the
> statistics in more precise scalar rather than locals and I returned
> the results in r(sk2) and r(kr2).
>
> *------------------ begin example ------------------
> clear all
> program skr2, byable(recall) rclass
> version 12.1
> syntax varname [if] [in]
> marksample touse
> tempname sk2 kr2
> _pctile `varlist' if `touse', nquantiles(8)
> scalar `sk2'=(r(r6)+r(r2)-2*r(r4))/(r(r6)-r(r2))
> scalar `kr2'=(r(r7)-r(r5)+r(r3)-r(r1))/(r(r6)-r(r2)) - 1.2333
> display as txt "Bowley's skewness [-1; 1]: " _c
> display as result %6.2f `sk2'
> display as txt "Moor's kurtosis [-1.23; inf.]: " _c
> display as result %6.2f `kr2'
> return scalar sk2 = `sk2'
> return scalar kr2 = `kr2'
> end
>
> sysuse auto
> skr2 price
> skr2 price if foreign == 0
>
> bys foreign: skr2 price
> *------------------- end example -------------------
> * (For more on examples I sent to the Statalist see:
> * http://www.maartenbuis.nl/example_faq )
>
> ---------------------------------
> Maarten L. Buis
> WZB
> Reichpietschufer 50
> 10785 Berlin
> Germany
>
> http://www.maartenbuis.nl
> ---------------------------------
>
> *
> * For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/faqs/resources/statalist-faq/
> * http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/