 
Dear R-helpers,
 
I have two problems that I don't know how to vectorize (but would like to because my current solution is slow).
 
# 1.
#I have a vector x:
 
x <- c(3, 0, 1, 0, 2, 2, 2, 0, 4, 2)
 
#I want this translated into a new vector based on x,so that each element of x
#is the number of zeroes, followed by a 1. The new vector would look like:
 
#> r# [1] 0 0 0 1 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1
 
# I only found a solution that loops, and it's a bit ugly:
r <- c()for(i in 1:length(x))r <- c(r, rep(0,pmax(0,x[i])),1)
 
 
# 2. 
# The other way around, so that we have the vector r, and want to find x.
# I have a (very) ugly solution:
chars <- paste(r,collapse="")zeros <- strsplit(chars,"1")x <- nchar(zeros[[1]])
 
 
 
Thanks for your help!
 
Remko Duursma
	[[alternative HTML version deleted]]

