Does this do it; > pmin(2, pmax(-2, cumsum(a))) [1] 0 1 1 2 2 2 1 0 0 -1 -2
On Thu, Nov 25, 2010 at 3:44 PM, henrique <henri...@allianceasset.com.br> wrote: > I have a vector of values -1, 0, 1, say > > > > a <- c(0, 1, 0, 1, 1, -1, -1, -1, 0, -1, -1) > > > > I want to create a vector of the cumulative sum of this, but I need to set a > maximum and minimum value for the cumsum, for example: > > > > max_value <- 2 > > min_value <- -2 > > > > the expected result would be (0, 1, 1, 2, 2, 1, 0, -1, -1, -2, -2) > > > > The only way I managed to do It, was > > > > res <- vector(length=length(a)) > > res[1] <- a[1] > > for ( i in 2:length(a)) res[i] <- res[i-1] + a[i] * (( res[i-1] < max_value > & a[i] > 0 ) | ( res[i-1] > min_value & a[i] < 0 )) > > > > > > This is certainly not the best way to do it, so any suggestions? > > > > > > Henrique > > > [[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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? ______________________________________________ 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.