簡體   English   中英

glmmTMB 關於隨機效應的預測誤差

[英]glmmTMB predictions error concerning random effect

我正在嘗試使用 glmmTMB 創建一個帶有模型預測的柵格。 這是基於一個模型和一個光柵堆棧。 我將柵格堆棧轉換為數據框,因為我認為這是函數predict.glmmTMB運行的要求。

該模型

model6 <- glmmTMB(Used~scale(Road_density)+scale(nonforprop)+scale(devprop)+
                  scale(forprop)+scale(nonfordist_cap3000)+scale(fordist_cap3000)+
                  scale(agridist_cap3000)+scale(devdist_cap3000)+(1|animal_ID),
            data=rasterpoints3,na.action=na.omit,family=binomial(link="logit"))

包含要預測的柵格堆棧值的數據框

predstack <- as.data.frame(stack2)

錯誤

 glmmTMB:::predict.glmmTMB(model6,predstack,re.form=NA)

eval 中的錯誤(predvars、data、env):找不到對象“animal_ID”

我希望有經驗的人可以幫助我解決這個問題。 animal_ID 是我的glmmTMB對象模型 6 中的隨機截距。我正在使用這個包,而不是例如raster::predict ,正是因為它應該能夠處理隨機效應。 據我了解, re.form=NA應該解決這個問題嗎?

關於這個有一個未解決的問題,但解決方法應該很簡單:定義

predstack$animal_ID <- NA

隨機效應變量必須存在於數據中,但未使用。 (由於glmmTMB的內部結構,在包級別修復此問題並非易事。)

鑒於 Ben 的回答,這應該適用於rasterterra包:

 p <- predict(stack2, model6, const=data.frame(animal_ID=NA), re.form=NA)

(但在沒有例子的情況下,我無法檢查它)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM