R for Spatial Statistics

 

Looping

You can loop over a set of lines of code by placing the code inside a "while" or "for" loop.

While Loops

While loops will loop until a condition becomes false.

i=0
while(i<100) 
{     
	print(i)
	i=i+1
}

For Loops

A for loop will assign a value to each of the values in a sequence sequentially.

N=100
for(i in 1:N) 
{     
	print(i)
}

Looping to evaluate ranges of parameters

One reason to use loops in R is to try different values for parameters.

A simple example would be to take one of our GAM models and try out a range of parameters for the gamma parameter. The code below creates a sequence of gamma values and then uses a loop to try each value of gamma with our model.

Gammas=seq(1,20,by=1) # setup a sequence of values for gamma
AICs=vector() # setup a vector to contain the AIC values

Count=1 
while (Count<=length(Gammas)) # go through all the gamma values
{
	# the family is gaussian by default but the gamma should be changed from 1 to smooth
	GammaValue=Gammas[Count]  
	TheModel=gam(MaxHt~s(MaxTemp)+s(MinTemp)+s(Precip),data=TheData,gamma=GammaValue) 

	# get the AIC value and add it to the vector for all AIC values
	TheAIC=AIC(TheModel)
	AICs=c(AICs,TheAIC)

	Count=Count+1 # move to the next gamma value
}