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)))

______________________________________________
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