[R] loop is going to take 26 hours - needs to be quicker!

Jenny Barnes jmb at mssl.ucl.ac.uk
Thu Dec 14 13:56:16 CET 2006


Dear R-help,

I have a loop, which is set to take about 26 hours to run at the rate it's going 
- this is ridiculous and I really need your help to find a more efficient way of 
loading up my array gpcc.array:

#My data is stored in a table format with all the data in one long column 
#running though every longitute, for every latitude, for every year. The 
#original data is sotred as gpcc.data2 where dim(gpcc.data2) = [476928,5] where 
#the 5th column is the data:

#make the array in the format I need [longitude,latitude,years]

gpcc.array <- array(NA, c(144,72,46)) 

n=0
for(k in 1:46){
for(j in 1:72){
for(i in 1:144){
n <- n+1
gpcc.array[i,j,k] <- gpcc.data2[n,5]
print(j)
}
}
}

So it runs through all the longs for every lat for every year - which is the 
order the data is running down the column in gpcc.data2 so n increses by 1 each 
time and each data point is pulled off....

It needs to be a lot quicker, I'd appreciate any ideas!

Many thanks for taking time to read this,

Jenny Barnes

~~~~~~~~~~~~~~~~~~
Jennifer Barnes
PhD student - long range drought prediction
Climate Extremes
Department of Space and Climate Physics
University College London
Holmbury St Mary, Dorking
Surrey
RH5 6NT
01483 204149
07916 139187
Web: http://climate.mssl.ucl.ac.uk



More information about the R-help mailing list