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

From |
Sergio Correia <sergio.correia@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: create dummy variables for every 5 values |

Date |
Thu, 10 Nov 2005 23:32:19 -0500 |

Well, the idea is to make the dummies from that variable using the tab dummy, g(dummy) command that Lynda described. The recode alternative is useful except if you have many years and therefore require many dummies, for each 5-year period. Sergio On 11/10/05, Nick Cox <n.j.cox@durham.ac.uk> wrote: > I doubt that this is what is wanted here. > Typically, unless the dataset contains just > 10 observations, it will give a dummy variable > that is not a dummy variable. Even in Sergio's > toy example it takes on 6 distinct values. > > Lynda mentioned a solution, which can be tweaked to > > gen yr=year > recode yr (1991/1995=0)(1996/2000=1) > > The -tabulate- does nothing useful as -yr- is already a dummy. > > In this situation, I would not use -recode-, but > that's mostly taste. Other solutions are > > gen dummy = 0 if inrange(year,1991,1995) > replace dummy = 1 if inrange(year,1996,2000) > > or > > gen dummy = cond(inrange(year,1991,1995), 0, cond(inrange(year,1996,2000), 1,. ) ) > > but there's not much to choose between solutions, so long > as you don't falsely map any years not 1991-2000 to either 0 or 1. > > Nick > n.j.cox@durham.ac.uk > > Sergio Correia > > > Try this: > > > > 1) create example file > > set obs 30 > > gen year=1990+_n > > > > 2) answer > > gen dummy = ceil(_n/5) > > > > The trick is in using the ceil function with the _n variable. > > Lynda Zhang > > > > I have a variable Year: > > > ... > > > 1991 > > > 1992 > > > 1993 > > > 1994 > > > 1995 > > > 1996 > > > 1997 > > > 1998 > > > 1999 > > > 2000 > > > ... > > > > > > How do I create one dummy variable for each 5-year interval with one > > > command. > > > > > > Typically I can get it manually by generating one dummy at a time > > > gen year1=1 if year>=1991 & year<=1995 > > > ... > > > > > > or using Recode: > > > gen yr=year > > > recode yr (1991/1995=1)(1996/2000=2) > > > tab yr, g(y) > > * > * 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/ > * * 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/

**References**:**RE: st: create dummy variables for every 5 values***From:*"Nick Cox" <n.j.cox@durham.ac.uk>

- Prev by Date:
**Re: st: nestreg and survey logistic** - Next by Date:
**Re: st: Adding lines to graphs** - Previous by thread:
**RE: st: create dummy variables for every 5 values** - Next by thread:
**RE: st: create dummy variables for every 5 values** - Index(es):

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