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: RE: how to specify the decimals for output--con't
From
Alex Olssen <[email protected]>
To
[email protected]
Subject
Re: st: RE: how to specify the decimals for output--con't
Date
Fri, 14 Oct 2011 09:06:06 +1300
Have you tried -fsum-?
http://ideas.repec.org/c/boc/bocode/s426501.html
I think it does what you want.
On 14 October 2011 06:18, Nick Cox <[email protected]> wrote:
> For examples, we read in
>
> . sysuse auto, clear
> (1978 Automobile Data)
>
> What you say about -fre- (Ben Jann, SSC) is incorrect.
>
> -fre- is explicit that it is for one-way tables, but you can call it with -by:-:
>
> . bysort foreign : fre rep78
>
> -> foreign = Domestic
>
> rep78 -- Repair Record 1978
> -----------------------------------------------------------
> | Freq. Percent Valid Cum.
> --------------+--------------------------------------------
> Valid 1 | 2 3.85 4.17 4.17
> 2 | 8 15.38 16.67 20.83
> 3 | 27 51.92 56.25 77.08
> 4 | 9 17.31 18.75 95.83
> 5 | 2 3.85 4.17 100.00
> Total | 48 92.31 100.00
> Missing . | 4 7.69
> Total | 52 100.00
> -----------------------------------------------------------
>
> -> foreign = Foreign
>
> rep78 -- Repair Record 1978
> -----------------------------------------------------------
> | Freq. Percent Valid Cum.
> --------------+--------------------------------------------
> Valid 3 | 3 13.64 14.29 14.29
> 4 | 9 40.91 42.86 57.14
> 5 | 9 40.91 42.86 100.00
> Total | 21 95.45 100.00
> Missing . | 1 4.55
> Total | 22 100.00
> -----------------------------------------------------------
>
> What you say about -groups- is also incorrect for the same reason. As the help explains,
>
> "by ...: may be used with groups; see help by. Note in particular that this is the key to
> controlling how percents are calculated; that is, under by percents sum to 100 within
> distinct categories defined by its varlist."
>
> As you say, by default percents are just for the whole table.
>
> . groups for rep78
>
> +------------------------------------+
> | foreign rep78 Freq. Percent |
> |------------------------------------|
> | Domestic 1 2 2.90 |
> | Domestic 2 8 11.59 |
> | Domestic 3 27 39.13 |
> | Domestic 4 9 13.04 |
> | Domestic 5 2 2.90 |
> |------------------------------------|
> | Foreign 3 3 4.35 |
> | Foreign 4 9 13.04 |
> | Foreign 5 9 13.04 |
> +------------------------------------+
>
> But applying -by:- gives you conditional percents:
>
> . bysort for: groups rep78, format(%2.1f)
>
> -> foreign = Domestic
>
> +---------------------------------+
> | rep78 Freq. Percent Cum. |
> |---------------------------------|
> | 1 2 4.2 4.2 |
> | 2 8 16.7 20.8 |
> | 3 27 56.3 77.1 |
> | 4 9 18.8 95.8 |
> | 5 2 4.2 100.0 |
> +---------------------------------+
>
> -> foreign = Foreign
>
> +---------------------------------+
> | rep78 Freq. Percent Cum. |
> |---------------------------------|
> | 3 3 14.3 14.3 |
> | 4 9 42.9 57.1 |
> | 5 9 42.9 100.0 |
> +---------------------------------+
>
>
> There is an undocumented -nby()- option that gives a more compact display:
>
> . groups foreign rep78, format(%2.1f) nby(1)
>
> +------------------------------------+
> | foreign rep78 Freq. Percent |
> |------------------------------------|
> | Domestic 1 2 4.2 |
> | Domestic 2 8 16.7 |
> | Domestic 3 27 56.3 |
> | Domestic 4 9 18.8 |
> | Domestic 5 2 4.2 |
> |------------------------------------|
> | Foreign 3 3 14.3 |
> | Foreign 4 9 42.9 |
> | Foreign 5 9 42.9 |
> +------------------------------------+
>
>
> Nick
> [email protected]
>
> Lan Zhang
>
> Thanks so much for your responses (see below) for my problems. Now I
> want to calculate either row or column percentages (usually I use 'tab
> var1 var2, row/col', and by default it gives the percentages with two
> decimals), and would also like to output one decimal (or maybe three
> or four) for each value. It seems the 'fre' and 'groups' can't do
> this. They could only give the percentages out of total N.
>
>
>> Date: Wed, 12 Oct 2011 10:06:20 -0500
>> From: Lan Zhang <[email protected]>
>> Subject: st: how to specify the decimals for output
>>
>> When use 'tab var' for frequencies of categorical variables, Stata
>> gives the percentages of two decimals. I wanna just one decimal. How
>> to change it? I didn't find any optional commands that has this
>> function. If I can't achieve this from the 'tab' command, how could I
>> do it using other command that may also give the percentages of the
>> categories.
>>
>
>> Date: Wed, 12 Oct 2011 11:55:04 -0400
>> From: Austin Nichols <[email protected]>
>> Subject: Re: st: how to specify the decimals for output
>>
>> Lan Zhang <[email protected]> :
>>
>> ssc inst fre
>> sysuse auto, clear
>> fre rep78, f(1) nomiss
>>
>> On Wed, Oct 12, 2011 at 11:06 AM, Lan Zhang <[email protected]> wrote:
>>> When use 'tab var' for frequencies of categorical variables, Stata
>>> gives the percentages of two decimals. I wanna just one decimal. How
>>> to change it? I didn't find any optional commands that has this
>>> function. If I can't achieve this from the 'tab' command, how could I
>>> do it using other command that may also give the percentages of the
>>> categories.
>> *
>
>> Date: Wed, 12 Oct 2011 17:59:48 +0100
>> From: Nick Cox <[email protected]>
>> Subject: Re: st: how to specify the decimals for output
>>
>> Also
>>
>> ssc inst groups
>> sysuse auto
>> groups foreign, format(%2.1f)
>>
>> +------------------------------------+
>> | foreign Freq. Percent Cum. |
>> |------------------------------------|
>> | Domestic 52 70.3 70.3 |
>> | Foreign 22 29.7 100.0 |
>> +------------------------------------+
>>
>> - -fre- is spectacular for one-way tabulation.
>>
>> - -groups- can do n-way tables, but always collapsed to one dimension.
>>
>> Nick .
>>
>> On Wed, Oct 12, 2011 at 4:55 PM, Austin Nichols <[email protected]> wrote:
>>> Lan Zhang <[email protected]> :
>>>
>>> ssc inst fre
>>> sysuse auto, clear
>>> fre rep78, f(1) nomiss
>>>
>>> On Wed, Oct 12, 2011 at 11:06 AM, Lan Zhang <[email protected]> wrote:
>>>> When use 'tab var' for frequencies of categorical variables, Stata
>>>> gives the percentages of two decimals. I wanna just one decimal. How
>>>> to change it? I didn't find any optional commands that has this
>>>> function. If I can't achieve this from the 'tab' command, how could I
>>>> do it using other command that may also give the percentages of the
>>>> categories.
>> *
>
> *
> * 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/
>
*
* 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/