speretti wrote:
> Hi,
>
> I need help to find an efficient way to transform a vector like:
>
> a<-c(1,1,0,1,0,0,0,1,1,1,1,0,1,0,1,1)
>
> in a vector that counts only di 1 elements, like:
>
> b<-c(1,2,0,1,0,0,0,1,2,3,4,0,1,0,1,2)
>
>
> Thank you!
One way:
rl <- rle(a)
unlist(mapply("*", lapply(rl$lengths, function(x) 1:x), as.list(rl$values)))