[R] apply model predictions over larger area with predict()

K. Fleischer K.Fleischer at student.uva.nl
Wed Oct 15 09:33:52 CEST 2008


Dear all,

I have built glm models based on presences/absences and a number of 
predictor maps and would like to compute habitat suitability based on 
the modelled coefficients. 

I thought this is pretty straight forward and wanted to use predict() 
and supply the new data in a data frame, with one column for each 
predictor. 

However, I do get an error msg warning me that the number of rows for 
old and new data do not match. 

the script looks like that:

model<-glm(species~temp+prec+elev,family=binomial(link=logit))
#whereby temp,prec,elev are in vector format and contain the elements 
on species presence/absence; species is vector of 0's and 1's 
(length=319)

wholearea<-data.frame(cbind(as.vector(temperature),as.vector
(precipitation),as.vector(elevation))  # (length=7526)

predict(model, newdata=wholearea,type="response")

Warning message: 'newdata' had 7526 rows but variable(s) found have 
319 rows.

Ive searched quite a while for the answer now, has anyone encountered 
that problem before?? thanx in advance.

Katrin Fleischer
MSc Student 
Computational Geo-ecology
University of Amsterdam



More information about the R-help mailing list