[R] local sequence function
    Martin Maechler 
    maechler at stat.math.ethz.ch
       
    Mon Sep 14 17:31:37 CEST 2009
    
    
  
>>>>> "s" == smu  <ml at z107.de>
>>>>>     on Mon, 14 Sep 2009 17:20:27 +0200 writes:
    s> hey, I can not find a function for the following problem,
    s> hopefully you can help me.
    s> I have a vactor like this one
    s> v = c(NA,NA,TRUE,TRUE,NA,TRUE,NA,TRUE,TRUE,TRUE)
    s> and I would like to the TRUE values by the their "local
    s> sequence number".
    s> This means, the result should look thike this:
    s> c(NA,NA,1,2,NA,1,NA,1,2,3)
    s> Of course I could solve the problems using a loop, but
    s> this would be much to slow, because the real vector is
    s> much larger.  Can you point me in the right direction?
direction? 
Ok, something along
> lapply(lapply(split(v, cumsum(is.na(v))), `[`, -1L), seq_along)
$`1`
integer(0)
$`2`
[1] 1 2
$`3`
[1] 1
$`4`
[1] 1 2 3
--
Martin Maechler, ETH Zurich
    
    
More information about the R-help
mailing list