Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

RE: st: assignment by indexing


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   RE: st: assignment by indexing
Date   Tue, 3 Feb 2004 14:11:34 -0000

Unfortunately, 

in rankx[`i'] 

won't work either. 

in `=rankx[`i']' 

would work, but as mentioned 
earlier 

gen y = x[rankx] 

is the way to do this, without looping. 

Nick 
n.j.cox@durham.ac.uk 

> -----Original Message-----
> From: owner-statalist@hsphsun2.harvard.edu
> [mailto:owner-statalist@hsphsun2.harvard.edu]On Behalf Of Allan Reese
> Sent: 03 February 2004 14:01
> To: Stata distribution list
> Subject: RE: st: assignment by indexing 
> 
> 
> On Tue, 3 Feb 2004, Nick Cox wrote:
> > Allan is incorrect ...
> 
> Agreed, and I had completely misread Ben's problem.  Also, the code I
> offered had a missing index
> 
> > >    loc nn = _N
> > >    gen y = .
> > >    forvalues i = 1/`nn' {
> > >       replace y = x in rankx[`i']
> > >    }
> 
> The difference between this and "gen y = x[z]" is that rankx does not
> point to the element in x to be copied, but to the position 
> in y where it
> is to go.
> 
> * gen y[rankx] = x
> 
> is the code that is disallowed - but by the time you read 
> this it may be
> in the latest upgrade.
> 
> 
> *
> *   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/

*
*   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/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index