Try this:

 v <- c(NA,NA,TRUE,TRUE,NA,TRUE,NA,TRUE,TRUE,TRUE)
 ick <-rle(v)
 foo <- unlist(apply(matrix(ick$lengths),1,seq))
 foo[is.na(v)] <- NA
 foo
 [1] NA NA  1  2 NA  1 NA  1  2  3

-Don

At 5:20 PM +0200 9/14/09, smu wrote:
hey,

I can not find a function for the following problem, hopefully you can
help me.

I have a vactor like this one

v = c(NA,NA,TRUE,TRUE,NA,TRUE,NA,TRUE,TRUE,TRUE)

and I would like to the TRUE values by the their "local sequence
number".

This means, the result should look thike this:

c(NA,NA,1,2,NA,1,NA,1,2,3)

Of course I could solve the problems using a loop, but this would be
much to slow, because the real vector is much larger.
Can you point me in the right direction?

thank you!

regards,
 Stefan

______________________________________________
R-help@r-project.org mailing list
https://*stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://*www.*R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


--
--------------------------------------
Don MacQueen
Environmental Protection Department
Lawrence Livermore National Laboratory
Livermore, CA, USA
925-423-1062

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to