Thanks Duncan and Romain! cumsum is exactly what I was looking for! On 12/11/07, Romain Francois <[EMAIL PROTECTED]> wrote: > > > Hi, > > It's not just the for loop, you are also growing objects in your code (z). > Consider ?cumsum > > Cheers, > > Romain > > -- > Mango Solutions > data analysis that delivers > Tel: +44(0) 1249 467 467 > Mob: +44(0) 1249 467 468 > Fax: +44(0) 7813 526 123 > > > > -----Original Message----- > From: [EMAIL PROTECTED] on behalf of tom soyer > Sent: Tue 11/12/2007 11:17 > To: r-help@r-project.org > Subject: [R] Alternative to For Loop? > > Hi, > > I am doing a calculation on a long series using a For Loop. Here is an > example of the calculation: > > accumulate=function(x){ > y=0 > z=0 > for(i in 1:length(x)){ > y=y+x[i] > z=c(z,y) > > } > return(z[2:length(z)]) > } > > > x=c(1:10) > > x > [1] 1 2 3 4 5 6 7 8 9 10 > > accumulate(x) > [1] 1 3 6 10 15 21 28 36 45 55 > > > > Although the For Loop works, looping through an array is time consuming > and > inefficient when the series is large. Does anyone know a faster way of > doing > the same calculation? Thanks! > > -- > Tom > > [[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<http://www.r-project.org/posting-guide.html> > and provide commented, minimal, self-contained, reproducible code. > >
-- Tom [[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.