Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
Steve Samuels <sjsamuels@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: Re: st: RE: AW: ratio function |

Date |
Mon, 26 Apr 2010 08:16:44 -0400 |

You're very welcome. Either syntax works. See section 13.5 of the User's Guide. Steve 2010/4/26 Roman Kasal <kasal@trexima.cz>: > thank you, it helps a lot! > > just small correction: > > the last command should by "nlcom [y2008]_cons/[y2009]_cons" I assume > > roman > > -----Original Message----- > From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Steve Samuels > Sent: Monday, April 26, 2010 1:23 AM > To: statalist@hsphsun2.harvard.edu > Subject: Re: Re: st: RE: AW: ratio function > > My previous example was flawed, Because males and females could be > present in the same PSU (famid), the degrees of freedom for -suest- > did not equal the sum of the d.f. for the separate regressions. Here > is another example with proper strata. Note that the degrees now add > properly. > Steve > > ************************* > webuse income, clear > gen year = 2008 + (famid>68) > tab year > svyset famid, strata(year) > svy: reg inc if year==2008 > estimates store y2008 > svy: reg inc if year==2009 > estimates store y2009 > suest y2008 y2009 > matrix list e(V) //results from different years are independent > nlcom _b[y2008:_cons]/_b[y2009:_cons] > *********************************************** > On Fri, Apr 23, 2010 at 10:40 AM, Steve Samuels <sjsamuels@gmail.com> wrote: >> 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 >> > > > > -- > 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/

**Follow-Ups**:**RE: Re: st: RE: AW: ratio function***From:*"Roman Kasal" <kasal@trexima.cz>

**AW: Re: st: RE: AW: ratio function***From:*"Martin Weiss" <martin.weiss1@gmx.de>

**References**:**Re: Re: st: RE: AW: ratio function***From:*"Roman Kasal" <kasal@trexima.cz>

**Re: Re: st: RE: AW: ratio function***From:*Steve Samuels <sjsamuels@gmail.com>

**RE: Re: st: RE: AW: ratio function***From:*"Roman Kasal" <kasal@trexima.cz>

**Re: Re: st: RE: AW: ratio function***From:*Steve Samuels <sjsamuels@gmail.com>

**RE: Re: st: RE: AW: ratio function***From:*"Roman Kasal" <kasal@trexima.cz>

**Re: Re: st: RE: AW: ratio function***From:*Steve Samuels <sjsamuels@gmail.com>

**RE: Re: st: RE: AW: ratio function***From:*"Roman Kasal" <kasal@trexima.cz>

**Re: Re: st: RE: AW: ratio function***From:*Steve Samuels <sjsamuels@gmail.com>

**Re: Re: st: RE: AW: ratio function***From:*Steve Samuels <sjsamuels@gmail.com>

**RE: Re: st: RE: AW: ratio function***From:*"Roman Kasal" <kasal@trexima.cz>

- Prev by Date:
**st: Unpublicized changes to Saved Results for -reshape-** - Next by Date:
**AW: Re: st: RE: AW: ratio function** - Previous by thread:
**RE: Re: st: RE: AW: ratio function** - Next by thread:
**AW: Re: st: RE: AW: ratio function** - Index(es):