Я построил модели в glmer
и хотел бы предсказать их на rasterStack
, представляющих фиксированные эффекты в моей модели. моя glmer
модель в виде:Прогнозируйте с помощью glmer, где новые данные - это Растровый стек фиксированных efefcts
m1<-glmer(Severity ~ x1 + x2 + x3 + (1 | Year) + (1 | Ecoregion), family=binomial(logit))
Как вы можете видеть, у меня есть случайные эффекты, которые не имеют в качестве пространственного слоя - например, «год». Поэтому проблема действительно предсказывает glmer
на rasterStacks
, когда у вас нет случайных слоев данных случайных эффектов. Если я использую его из коробки без добавления случайных эффектов, я получаю сообщение об ошибке.
m1.predict=predict(object=all.var, model=m1, type='response', progress="text", format="GTiff")
Error in predict.averaging(model, blockvals, ...) :
'pred.MerMod' принимает фрейм данных и возвращает вектор. Можете ли вы привести воспроизводимый пример? Я не очень хорошо знаком с 'rasterStack'; возможно, кто-то еще может рассказать вам, как конвертировать туда и обратно. –
PS: любая конкретная причина, по которой вы используете 'glmer', а не' lmer' (поскольку у вас нет аргумента 'family', все последние версии' glmer' должны были дать вам предупреждение) –
Вы можете скрывать RasterStack с ' as.data.frame', но это может быть не очень хороший подход с очень большими наборами растровых данных. В этом случае лучше (но иногда немного сложнее) использовать «растровый :: прогноз» (см. Мой ответ ниже) – RobertH