Hi Igor. Here is one way:
DF <- read.table(textConnection("90.1194354 87.94788274 80.34744843 64.06080347 30.40173724 0 0 0 0 0 16.28664495 23.88707926 29.31596091 48.85993485 13.02931596 0 0 0 7.600434311 20.62975027 29.31596091 32.5732899"), header=FALSE) a <- DF$V1[which(DF$V1!=0)] indx <- which(DF$V1!=0) blocks <- cut(1:length(a), breaks=c(0,which(diff(indx)!=1), length(a))) n_levels <- length(levels(blocks)) l <- vector("list", n_levels) for(i in 1:n_levels) { l[[i]] <- a[blocks==levels(blocks)[i]] } l Andrija On Thu, Apr 18, 2013 at 11:33 AM, Igor Mintz <igormi...@gmail.com> wrote: > hello > i have a very long column of numbers. i want R to make a new column every > time the value changes from zero. > example for the column: > 90.1194354 > 87.94788274 > 80.34744843 > 64.06080347 > 30.40173724 > 0 > 0 > 0 > 0 > 0 > 16.28664495 > 23.88707926 > 29.31596091 > 48.85993485 > 13.02931596 > 0 > 0 > 0 > 7.600434311 > 20.62975027 > 29.31596091 > 32.5732899 > > for this example i want to get 3 columns. > > thanks! > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. > [[alternative HTML version deleted]] ______________________________________________ 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.