What you want to do here is illegal. Subscripts
like [1] are not allowed on the LHS of a -generate-
command, as is tacit in the syntax diagram.
The ayntax may seem natural, but it is illegal
nevertheless.
But Stata is nevertheless trying to make sense of
what you wrote. It knows that square brackets [ ]
can signal weights, yet it also knows
that weights are not allowed in -generate-.
At that point it gives up and throws your ball back
at you with a shrug of puzzlement.
The principle to follow is that under the aegis of
-by:- the built-in _n is interpreted within groups
defined by the -by:-. Thus
bysort newt : replace frog = toad[4] if _n == 3
copies toad[4] to frog[3] within the groups of newt.
>>> Paley, Irina
Thank you so much, Kit and Nick! I really appreciate it, your
suggestions works.
Why can stata do: bysort hhid: replace pn_ocg= pn_pcg[2] if pn_ocg== .
but not: bysort hhid: replace pn_ocg[1] = pn_pcg[2] if pn_ocg== .
In the latter case it says weights are not allowed
What is it about saying replace pn_ocg[1] vs. replace pn_ocg that makes
the difference?
In general, if I want to move, within household id,
1 and 10 from second row 2nd and 3rd cell to first row 4th and 5th cell,
what do I do?
> Irina asks
>
> Suppose my data has 2 observations per household and is organized as:
>
> household_id wage of person1 wage of person2
> 1 3 .
> 1 5 .
>
>
> 2 6 .
>
> 2 7 .
>
> I would like Stata to, whenever the wage of person 2 is missing, to
> substitute into it the SECOND observation of the wage of person 1
> within that household. So I would want the data to look like:
>
> household id wage of person1 wage of person2
> 1 3 5
> 1 5 5
>
> 2 6 7
> 2 7 7
>
>
> bysort household_id: replace wage2 = wage1[2] if wage2 == .
Next Article (by Date): Re: st: Re: how to deal with variables...(Yes it
is attrition) "Nirina M."
Previous Article (by Date): st: extended generalized Gamma distribution
"Sascha O. Becker"
Articles sorted by: [Date] [Author] [Subject]