# RE: st: RE: how to use lag function to create sequential number

 From "Nick Cox" To Subject RE: st: RE: how to use lag function to create sequential number Date Sun, 11 Sep 2005 19:47:53 +0100

```This has the solution I gave previously. Do try it.

Nick
n.j.cox@durham.ac.uk

mzhang@nd.edu

> Sorry I did not state my question well. there are different
> racial groups in my
> sample. What i want to do is to give each racial group a
> sequential number.
> for example, I have 17 whites, 5 blacks and 7 others. then
> the value of the
> sequential variable I created would be: 1 2 3....17 for
> whites; 1 2 ...5 for
> blacks;
> 1 2 ....7 for others. what I was originally thinking is:
>
> gen sequence=1
> replace sequcence=sequence+1 if l.race==race
>
> However, this does not work out as I thought.

Nick Cox

> > I am not aware of a lag function, i.e. -lag()-, in Stata. There is
> > a lag operator L. but that is not appropriate for your purpose.
> >
> > You may be in search of
> >
> > bysort race : gen id = _n
> >
> > or
> >
> > bysort race : egen id = seq()
> >
> > although note that the labelling produced is essentially arbitrary
> > in either case.

mzhang@nd.edu

> > > for example, there are 17 people who have the same ethnicity.
> > > If I want to give
> > > them a sequential number 1 2 3..........17, how can I use lag
> > > function to do this?

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