Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# Re: Re: st: RE: AW: ratio function

 From Steve Samuels To statalist@hsphsun2.harvard.edu Subject Re: Re: st: RE: AW: ratio function Date Fri, 23 Apr 2010 10:40:44 -0400

```Just use -suest-.  Use the fact that -reg- without an argument is
equivalent to estimating the mean.

********************
webuse income, clear
svyset famid
svy: reg inc if male
estimates store Male
svy: reg inc if !male
estimates store Female
suest Male Female
nlcom _b[Male:_cons]/_b[Female:_cons]
*************************
Steve

2010/4/23 Roman Kasal <kasal@trexima.cz>:
> yes, the year is another survey (different time; the years cannot be pooled because of degrees of freedom) and is included in strata.
>
> so there is no solution for this case? just manually?
>
> -----Original Message-----
> From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Steve Samuels
> Sent: Friday, April 23, 2010 1:32 PM
> To: statalist@hsphsun2.harvard.edu
> Subject: Re: Re: st: RE: AW: ratio function
>
>> "svy: mean wage, over(year)" is not equal "svy: mean wage if year==2009"
>
> The "if statement" is incorrect, unless year was a stratification
> variable that you identified to Stata.
>
> -nlcom- after -svy: mean-, over(year),   is the proper approach.
>
>
> 2010/4/23 Roman Kasal <kasal@trexima.cz>:
>> ok, for this purpose I agree, that is ok...but what about if I want to calculate SE of Mean in years 2009 and 2008 and then ratio with SE of the means?
>>
>> the problem is that CI of
>> "svy: mean wage, over(year)" is not equal "svy: mean wage if year==2009"
>> for the year 2009 because of different degrees of freedom (SE's are equal), the first command gives wrong CI.
>>
>> is any elegant solution to handle this in Stata with "nlcom" or do I have to calculate it manually?
>>
>> thank you
>>
>> -----Original Message-----
>> From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Steve Samuels
>> Sent: Thursday, April 22, 2010 3:08 PM
>> To: statalist@hsphsun2.harvard.edu
>> Subject: Re: Re: st: RE: AW: ratio function
>>
>> The degrees of freedom are correct.  See any sampling text.
>>
>> Briefly: To identify a subpopulation, each observation in the sample
>> receives a 0-1  indicator variable d.   If X is the numerator variable
>>  and Y is the denominator variable, the numerator for the ratio of is
>> the sum *over the entire sample*  of Z_x = d *X and the denominator is
>> the sum of Z_y = d * Y.  The standard errors are based on variability
>> in the Z's, including the zero values.
>> By the way, the standard errors formulas are valid only if the
>> expected number of observations in a subpopulation is at least 20.
>>
>> Steve
>>
>> 2010/4/22 Roman Kasal <kasal@trexima.cz>:
>>> thank you for the code, but I have found a problem:
>>>
>>> if I calculate over(foreign) the bound are enumerated with "e(N_psu)-e(N_strata)" degrees of freedom, but not for each foreign (degrees of freedom are for whole dataset) and this is wrong I assume.
>>>
>>> thank you
>>>
>>> -----Original Message-----
>>> From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Steve Samuels
>>> Sent: Friday, April 02, 2010 2:58 PM
>>> To: statalist@hsphsun2.harvard.edu
>>> Subject: Re: Re: st: RE: AW: ratio function
>>>
>>> Roman
>>> Perhaps we misunderstand what you are asking for. I  We have been
>>> assuming that you  want the ratio of the means of two variables
>>> ("columns"?) measured possibly on the same person.  Perhaps you want
>>> the ratio of the means of one variable for two subpopulations.   Both
>>> analyses will ignore missing values.
>>>
>>> If this is not what you desire, then please demonstrate by hand what
>>> you do want on a small, non-survey data set.. Also I'd like to know
>>> which R function does what are asking for
>>>
>>>  The following do file computes the ratio of means with CI and then
>>> does the same for the log ratio and transforms to the original scale.
>>>
>>> -Steve
>>>
>>>
>>> **************************CODE BEGINS**************************
>>> capture program drop _all
>>> program antilog
>>> local lparm  el(r(b),1,1)
>>> local se    sqrt(el(r(V),1,1))
>>> local bound  invttail(e(df_r),.025)*`se'
>>> local parm  exp(`lparm')
>>> local ll  exp(`lparm'  - `bound')
>>> local ul  exp( `lparm' + `bound')
>>> di  "parm =" `parm'  "    ll = " `ll'  "   ul = " `ul'
>>> end
>>>
>>> sysuse auto, clear
>>> svyset _n
>>> svy: mean mpg, over(foreign)
>>> nlcom (myratio1: _b[Domestic]/_b[Foreign])   //ratio
>>> nlcom (myratio2: log(_b[Domestic]/_b[Foreign]))   // log ratio
>>> // Confidence interval of last -nlcom- on antilog scale
>>> antilog
>>> ***************************CODE ENDS***************************
>>>
>>>
>>>
>>> .
>>>
>>> On Fri, Apr 2, 2010 at 2:37 AM, Roman Kasal <kasal@trexima.cz> wrote:
>>>> I don't agree...so how to do it when you want to find out ratio between
>>>> years, male X female, ...? So there is no solution? Just to keep N,mean,
>>>> SE, degrees of freedom, N_strata, N_psu, .... and calculate it manually?
>>>> I think it is not appropriate solution, at least to have it as an
>>>> option. I think there is missing a lot with complex survey in Stata and
>>>> complex survey is needed for almost every survey research, even freeware
>>>> R-project is better equipped :(
>>>>
>>>> so have a hope Stata will get it soon....immediately we are buying it
>>>> again :)
>>>>
>>>>>
>>>>>
>>>> And it should.   Data (x,y) (1,2) (2,4) (3,6) (100,.)    will give an
>>>> entirely different view of the data if the unpaired observation is
>>>> included in a mean or ratio calculation.  Or consider data with x
>>>> missing in half the pairs and y missing in the other half; the ratio
>>>> of means would be meaningless.
>>>>
>>>> The formulas for standard errors for ratios  assume that the data are
>>>> paired. Formally, they are based on the residual MSE of a regression
>>>> of y on x through the origin. You cannot do that regression with
>>>> unpaired data.
>>>>
>>>> If your concern is missing data, the solution is to impute the missing
>>>> values before analysis.
>>>>
>>>> Steve
>>>>
>>>>
>>>> *
>>>> *   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/
>>>>
>>>
>>>
>>>
>>> --
>>> Steven Samuels
>>> sjsamuels@gmail.com
>>> 18 Cantine's Island
>>> Saugerties NY 12477
>>> USA
>>> Voice: 845-246-0774
>>> Fax:    206-202-4783
>>>
>>> *
>>> *   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/
>>>
>>
>>
>>
>> --
>> Steven Samuels
>> sjsamuels@gmail.com
>> 18 Cantine's Island
>> Saugerties NY 12477
>> USA
>> Voice: 845-246-0774
>> Fax:    206-202-4783
>>
>> *
>> *   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/
>>
>
>
>
> --
> Steven Samuels
> sjsamuels@gmail.com
> 18 Cantine's Island
> Saugerties NY 12477
> USA
> Voice: 845-246-0774
> Fax:    206-202-4783
>
> *
> *   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/
>

--
Steven Samuels
sjsamuels@gmail.com
18 Cantine's Island
Saugerties NY 12477
USA
Voice: 845-246-0774
Fax:    206-202-4783

*
*   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/
```