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

Petr Pikal petr.pikal at precheza.cz
Thu Dec 14 14:39:53 CET 2006


Hi

if I understand correctly, you have one column you need to reformat 
into array. Array is basically a vector with dim attribute. Therefore 
if your data were properly sorted you could use just

gpcc.array <- array(gpccnata2[,5], c(144,72,46))

to reformat column 5 of your data frame. But you shall be 100% sure 
you really want an array and not any other data form.

HTH
Petr
 


On 14 Dec 2006 at 12:56, Jenny Barnes wrote:

Date sent:      	Thu, 14 Dec 2006 12:56:16 +0000 (GMT)
From:           	Jenny Barnes <jmb at mssl.ucl.ac.uk>
To:             	r-help at stat.math.ethz.ch
Subject:        	[R] loop is going to take 26 hours - needs to be quicker!
Send reply to:  	Jenny Barnes <jmb at mssl.ucl.ac.uk>
	<mailto:r-help-request at stat.math.ethz.ch?subject=unsubscribe>
	<mailto:r-help-request at stat.math.ethz.ch?subject=subscribe>

> 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
> 
> ______________________________________________
> R-help at stat.math.ethz.ch 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.

Petr Pikal
petr.pikal at precheza.cz



More information about the R-help mailing list