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]
st: RE: how to specify the decimals for output--con't
From
Nick Cox <[email protected]>
To
"'[email protected]'" <[email protected]>
Subject
st: RE: how to specify the decimals for output--con't
Date
Thu, 13 Oct 2011 18:18:27 +0100
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/