r - predict with glmer where new data is a Raster Stack of fixed efefcts -
i have constructed models in glmer
, predict these on rasterstack
representing fixed effects in model. glmer
model in form of:
m1<-glmer(severity ~ x1 + x2 + x3 + (1 | year) + (1 | ecoregion), family=binomial( logit ))
as can see, have random effects don't have spatial layer - example 'year'. therefore problem predicting glmer
on rasterstacks
when don't have random effects data random effects layers. if use out of box without adding random effects error.
m1.predict=predict(object=all.var, model=m1, type='response', progress="text", format="gtiff") error in predict.averaging(model, blockvals, ...) :
your question brief, , not indicated what, if any, trouble have encountered. seems work 'out of box', perhaps not in case. see ?raster::predict
options.
library(raster) # example data. see ?raster::predict logo <- brick(system.file("external/rlogo.grd", package="raster")) p <- matrix(c(48, 48, 48, 53, 50, 46, 54, 70, 84, 85, 74, 84, 95, 85, 66, 42, 26, 4, 19, 17, 7, 14, 26, 29, 39, 45, 51, 56, 46, 38, 31, 22, 34, 60, 70, 73, 63, 46, 43, 28), ncol=2) <- matrix(c(22, 33, 64, 85, 92, 94, 59, 27, 30, 64, 60, 33, 31, 9, 99, 67, 15, 5, 4, 30, 8, 37, 42, 27, 19, 69, 60, 73, 3, 5, 21, 37, 52, 70, 74, 9, 13, 4, 17, 47), ncol=2) xy <- rbind(cbind(1, p), cbind(0, a)) v <- data.frame(cbind(pa=xy[,1], extract(logo, xy[,2:3]))) v$year <- sample(2000:2001, nrow(v), replace=true) library(lme4) m <- lmer(pa ~ red + blue + (1 | year), data=v) # here adding year constant, not variable (rasterlayer) in rasterstack object x <- predict(logo, m, const=(data.frame(year=2000)))
Comments
Post a Comment