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.

Reply via email to