Now I'm confused. As was emphasised yesterday,
gen newvar = x[indexvar]
is legal and useful. If you want the syntax
gen newvar = x(indexvar)
to select from variables x1, x2, ... according to
whether indexvar is 1, 2, ..., then (1) that
syntax is not supported; (2) there's no
neat way of doing exactly that in one step
(although it could easily be programmed
as an -egen- function); (3) there are
other ways to do the same thing.
Your Markov problem should definitely not
need 107 equations. You could set it up
a matrix problem or as a variables problem.
Nick
[email protected]
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]On Behalf Of Ben Pelzer
> Sent: 04 February 2004 12:41
> To: [email protected]
> Subject: RE: st: assignment by indexing
>
>
> Nick, Ernest and Allan,
>
> Thanks for your comments and tips. I am surprised that a
> statement like "gen
> newvar = x(indexvar)" is not available in Stata, since in
> other packages,
> this is everyday meat. In my application, the indexvariable
> is "time" which
> is used in a Markov model that links state probabilities a
> timepoint t to
> those at t-1 and to the transition probabilities to "stay in 1" or to
> "switch from 0 to 1", i.e.:
>
> p(y=1|time) = p(y=1|time-1) * p(stay in 1) + p(y=0|time-1) *
> p(switch from 0 to 1)
>
> This equation is to be evaluated for 107 timepoints, so using
> time as an
> index, would be very handsome. In the past I implemented the model in
> several other packages, (which I dare not mention here), and
> I now would
> like to develop a Stata version as well. In Stata I suppose I
> have to use
> 107 equations, then? Ok, if that's all it takes, I'll go for
> it.
*
* 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/