Speeding nested loops up
General suggestions: avoid cbind() and avoid accessing data frames. Convert
data frames to matrices before accessing them. Also, why do you print? You
don't really want to print(t) for every iteration of the loop, do you? Also
avoid defining elements within the loop that need to be defined only once (
such as path<- paste("c:/Data/",csvfile) ).
For more specific help it would help if you provided a minimally
self-contained example (one that we can copy-paste in the R prompt) as
requested in the posting guide.
HTH,
Daniel
mark_horo wrote:
Hi I'm trying to speed my loop up. Any Suggestions?? At the moment it
takes a few days to run.
THE CODE
---------------------------------------------------------------------------------------------------
for(i in 1:11) {
for (j in 3:12) {
for (k in 1:273107) {
y[k,1] <- x[i,j,k]
print(y)
Rainfall_dataset <- read.table("1km_grid_nzmg.csv",
header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE)
t <- Rainfall_dataset
print(t)
p<-cbind(t,y)
#y<-cbind(t,y)
#print(y)
}
# This where you write out array y to a csv file
# Save output as a csv file
site <- paste("site",i,"-",j)
csvfile <- paste(site,sep=".","csv"); print(csvfile)
path<- paste("c:/Data/",csvfile)
print(path)
write.csv(p,file=path, row.names = TRUE)
}
}
-- View this message in context: http://r.789695.n4.nabble.com/Speeding-nested-loops-up-tp3751485p3751542.html Sent from the R help mailing list archive at Nabble.com.