[R] More effective calculation for loop

John Kane jrkrideau at yahoo.ca
Fri May 13 17:50:13 CEST 2011


What is xts?  What package?

--- On Fri, 5/13/11, Wolfgang Wu <wobwu22 at yahoo.de> wrote:

> From: Wolfgang Wu <wobwu22 at yahoo.de>
> Subject: [R] More effective calculation for loop
> To: R-help at r-project.org
> Received: Friday, May 13, 2011, 5:32 AM
> I am getting confused in how to use R
> effectively. Below is the example that I 
> would like to optimize, which is basically a loop. In its
> current version it 
> takes  about 20 seconds to run. I have looked at the
> apply function and but 
> didn't seem to get it to work. I am sure this is relatively
> easy to show me a 
> better version for someone who has done this before. For
> some reason I seem to 
> have trouble getting my head around this. 
> 
> #----------------------------------
> #Create the example data
> dDates <- seq(from=as.Date("1990-01-01"), by="day",
> length.out=10000);
> xtsHold <- xts(rep(0, times=10000), order.by=dDates);
> xtsBuy <- xts(sample(0:1,10000,replace=T),
> order.by=dDates);
> xtsSell <- xts(sample(0:1,10000,replace=T),
> order.by=dDates);
> print(Sys.time())
> 
> #Run the inefficient calculation
> for (i in 2:length(xtsHold)){
> xtsHold[i] <- xtsHold[i-1] + xtsBuy[i-1] -
> xtsSell[i-1];
> }
> 
> print(Sys.time())#----------------------------------
> 
> 
> Thank you very much in advance!
> 
> Best regards, 
> 
> Wolfgang Wu
> 
> 
> ______________________________________________
> R-help at 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.
>



More information about the R-help mailing list