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
Nick Cox <[email protected]>
To
[email protected]
Subject
Re: st: RE: how to specify the decimals for output--con't
Date
Thu, 13 Oct 2011 23:17:11 +0100
-fsum- (SSC) I take to be a variant on -summarize-. The main detail in
common with this question is that you can set output format.
Nick
On Thu, Oct 13, 2011 at 9:06 PM, Alex Olssen <[email protected]> wrote:
> 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/