Barry Rowlingson <[EMAIL PROTECTED]> writes:

> Wolfram Fischer wrote:
> > I have:
> >  d <- sample(10:100, 9)
> >  o <- order(d)
> >  r <- d[o]
> > How I can get d (in the original order), knowing only r and o?
> >
> 
>   r[order(o)]?
> 
>   > d=sample(10:100,9)
>   > o=order(d)
>   > r=d[o]
>   > all(r[order(o)] == d)
>   [1] TRUE
> 
>   tested and works for duplicates in d as well.

Neat. It is O(n log n) though. 

 D <- numeric(length(r))
 D[o] <- r

should be O(n)

Notice btw that 

> rank(d)
[1] 3 4 1 8 5 6 9 7 2
> order(order(d))
[1] 3 4 1 8 5 6 9 7 2


-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - ([EMAIL PROTECTED])             FAX: (+45) 35327907

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to