我在glmer
中构建了模型,并希望在代表模型中固定效果的rasterStack
上预测这些模型。我的glmer
模型采用以下形式:
m1<-glmer(Severity ~ x1 + x2 + x3 + (1 | Year) + (1 | Ecoregion), family=binomial( logit ))
正如你所看到的,我有随机效果,我没有作为空间层 - 例如&#39;年&#39;。因此,当您没有随机效果数据随机效果图层时,问题实际上是预测glmer
rasterStacks
。如果我在没有添加随机效果的情况下使用它,我会收到错误。
m1.predict=predict(object=all.var, model=m1, type='response', progress="text", format="GTiff")
Error in predict.averaging(model, blockvals, ...) :
答案 0 :(得分:2)
您的问题非常简短,并未说明您遇到的问题(如果有)。这看似开箱即用,但可能不适用于你的情况。有关选项,请参阅?raster::predict
。
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)
a <- 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 as a constant, as it is not a variable (RasterLayer) in the RasterStack object
x <- predict(logo, m, const=(data.frame(Year=2000)))
答案 1 :(得分:1)
如果您没有随机效果,只需在re.form=~0
来电中使用predict
来预测人口级别:
x <- predict(logo, m, re.form=~0)
在没有投诉的情况下使用@ RobertH的例子(虽然我不知道是否正确)