What David suggests is fine and -- more to the point --
legal -- whereas what Florence tried is illegal. The
way to see this is to look at the syntax diagram
for -replace-, which makes it clear that a existing
varname (only) can appear on the LHS of an equals
sign.
A quite different point is that David's suggestion
obliges Stata to test every observation to see
if _n == _N.
replace `var' = 0 in l
lets Stata go straight to the last observation.
Nick
n.j.cox@durham.ac.uk
David E Moore
> Stata prefers:
>
> replace `var' = 0 if _n==_N
NEYMOTIN, FLORENCE
> Hi, I tried typing:
>
> foreach var in x y {
> replace `var'[_N]=0
> }
>
> then it considers [_N] a "weight" when clearly I want it to
> just change the last
> observation of
> both x and y to be zeroes.
>
> alternatively, I tried the inner line as: ( replace
> `var[_N]'=0 ) and then it
> doesn't recognize
> var[_N] and thinks that it is an entirely new local reference.
> Is there a correct syntax here, or does it look like there is
> some other sort of mistake in my coding ?
*
* 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/