1
我試圖估計R中for-loop中的很多模型。我首先爲變量'Date'定義了一組可能的值,並將它們存儲在'日期'中。然後,對於每個模型,根據這些「日期」值定義一個通用數據集的子集。最終,我的目標是將所有這些模型的一些係數存儲在兩個矩陣中:effRain和effWindchill。如何在R的for-loop中使用tryCatch
問題是:在某些情況下,glmer
模型由於錯誤而無法估計。在這些情況下,我希望循環跳過並繼續循環中的下一步。然而,我在R方面並不是非常有經驗。我發現我可能需要使用tryCatch
,但我應該如何將它放入我的代碼中?我一直在努力嘗試,但我無法弄清楚。
這是我的代碼到目前爲止:
Dates <- c(19710428,19721129,19740529,19770525,19780531,19810526,19820602,19820908,
19840614,19860319,19860521,19890615,19890906,19900321,19940302,19940503,
19940609,19980304,19980506,19990303,19990610,20020206,20020515,20030122,
20030311,20040610,20060307,20061122,20070307,20090604,20100303,20100609,
20110302,20120912)
effRain <- matrix(nrow=34,ncol=2,0)
effWindchill <- matrix(nrow=34,ncol=2,0)
for(i in 1:34){
hulpdata <- hulpdata <- subset(banaan,Date==Dates[i])
attach(hulpdata)
SP2 <- SP/100
model1 <- glmer (cbind(opkomst, nnietgestemd) ~
(1|gemnr)+ Windchill + Rain + Windspeed + SP2 + lag_popkomst + NB + OL + loginw
, family=binomial(link=logit))
effRain[i] <- coef(summary(model1))[3]
effWindchill[i] <- coef(summary(model1))[2]
}