[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

From |
jpitblado@stata.com (Jeff Pitblado, StataCorp LP) |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Identifying single psu within strata |

Date |
Fri, 29 Apr 2005 14:45:18 -0500 |

R.E. De Hoyos <redeho@hotmail.com> asks about generating an indicator variable that identifies strata with a single PSU: > I want to run wage regressions for several population groups. Estimations > have to take care of the survey design (svy). The problem is that for some > of the groups there are strata with a single psu (primary samplying unit). > Using -svydes- I can identify does strata, for example: > > For wage equation: svyreg wage_1 varlist_1: > > svydes wage_1 varlist_1 > > And Stata will highlight those strata with a single psu. How can I create a > dummy variable that indicates weather a strata has a single psu given the > variables that I want to use for the analysis? > In other words I want a dummy variable that takes the value of 1 if -svydes- > highlights a strata. This feature was added to -svydes- in Stata 9. -svydes- now has a -generate()- option that generates this variable. In Stata 8, there is no such option; however, the output of -svydes- should identify the "singleton" strata using the values from the strata variable that was -svyset-. You can use the output from -svydes- to generate a new variable. If you need to do this for a bunch of different groups, you will need to write a program. You can start with the following: ***** BEGIN: singleton.ado program singleton, sort version 8 syntax [varlist(numeric default=none)] [if] [in], /// STRata(varname) gen(name) [ PSU(varname) ] confirm new var `gen' marksample touse if "`psu'" == "" { tempvar psu gen `psu' = _n } tempvar u sort `touse' `strata' `psu' quietly by `touse' `strata' `psu': gen `u' = _n == 1 quietly by `touse' `strata': replace `u' = sum(`u') quietly by `touse' `strata': replace `u' = cond(`u'[_N] == 1, 1, 0) quietly replace `u' = . if !`touse' rename `u' `gen' end ***** END: singleton.ado Here is a log using the above -singleton- program with the auto data: ***** BEGIN: . clear . sysuse auto (1978 Automobile Data) . * Example with no singleton strata . singleton, strata(rep) gen(jj) . tab rep if jj no observations . * Example with 2 singleton strata . singleton, strata(rep) psu(for) gen(kk) . tab rep if kk Repair | Record 1978 | Freq. Percent Cum. ------------+----------------------------------- 1 | 2 20.00 20.00 2 | 8 80.00 100.00 ------------+----------------------------------- Total | 10 100.00 . * Proof that 2 categories of -rep78- have only "Domestic" cars . tab rep for Repair | Record | Car type 1978 | Domestic Foreign | Total -----------+----------------------+---------- 1 | 2 0 | 2 2 | 8 0 | 8 3 | 27 3 | 30 4 | 9 9 | 18 5 | 2 9 | 11 -----------+----------------------+---------- Total | 48 21 | 69 ***** END: --Jeff jpitblado@stata.com * * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**Follow-Ups**:**Re: st: Identifying single psu within strata***From:*"R.E. De Hoyos" <redeho@hotmail.com>

- Prev by Date:
**st: [Stata 9] xtlogit** - Next by Date:
**Re: st: Identifying single psu within strata** - Previous by thread:
**st: [Stata 9] xtlogit** - Next by thread:
**Re: st: Identifying single psu within strata** - Index(es):

© Copyright 1996–2015 StataCorp LP | Terms of use | Privacy | Contact us | What's new | Site index |