First, there is a crucial difference between -N and _N
but -N probably only appears here as a result of
your typing.
Second, you can work these things out by trial on
a simple dataset such as Stata's auto data.
Either way, what you quote depends on a prior
sort study
The -quietly- you understand.
by study: gen last = _n == _N
generates a variable which evaluates _n == _N. That
is true, numerically 1, when the observation number
_n is equal to the total number of observations _N,
and false, numerically 0, otherwise. The crucial
detail is that under -by:- _n and _N are understood
to mean within each group of -study-.
sysuse auto
bysort rep78 : gen byte last = _n == _N
edit rep78 last
will give you an easy example. In general,
this tags the last observation in each
group with 1 and the others with 0.
See also
Manual entries indexed under -by-
How to move step by: step
Stata Journal 2(1): 86-102 (2002)
explains the use of the by varlist : construct to tackle
a variety of problems with group structure, ranging from
simple calculations for each of several groups to more
advanced manipulations that use the built-in _n and _N
What is true and false in Stata? http://www.stata.com/support/faqs/data/trueorfalse.html
Nick
[email protected]
b. water
> i am trying to understand one of the do-files application for
> stata. one of
> the lines read:
>
> qui by study: gen last=_n==_N
>
> my understanding so far: this is quietly, sort according to
> study, and as a
> result, to generate a variable 'last' fulfilling this
> condition _n==-N.
> although i have the output, i would like to know what in
> general does gen last=_n==_N do?
*
* 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/