Ho hum. I don't think Austin meant what he typed.
But I agree with his strong signal that you should
explain your data set-up clearly.
The first year any id appears can be tagged by something like
bysort bdsmaster (year) : gen first = _n == 1
assuming that -bdsmaster- is an id code.
Austin's equivalent is
egen minyr = min(year), by(bdsmaster)
gen first = year == minyr
but you can get there in one line.
Nick
[email protected]
Austin Nichols replied to Meryle Weinstein
> It's always advisable to frame your question in terms of data everyone
> can use, e.g. by starting your example with -sysuse auto- and showing
> the result you want. That said, one way (among many) to generate an
> indicator for first year is:
>
> egen minyr=min(year), by(bdsmaster)
> gen fyr=(year==fyr)
>
> > I've tried following the syntax in FAQ and archives but am
> having difficulty
> > with it. I have a dataset that has an idcode and a year
> for a number of
> > schools. I want to identify the first year that the idcode
> appears. I've
> > tried the following but still don't' get the first occurrence.
> >
> > by bdsmaster (year), sort: gen noccur = sum(bdsmaster)
> > by bdsmaster: gen byte first = noccur == 1 & noccur[_n -
> 1] != noccur
> >
> > gen byte first = sum(bdsmaster == 1) == 1 &
> sum(bdsmaster[_n - 1] == 1) ==
> > 0
*
* 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/