Я запускаю GLMM для перестановочных данных, а для некоторых из них у меня есть сообщение об ошибке конвергенции. Поскольку это моя нулевая модель, мне просто нужно выполнить повторную выборку этих конкретных перестановленных данных. Я попытался обработать функцию tryCatch для R, но у меня есть сбой. У меня есть Perm, который является моим перестановочным набором данных данных и pglmm, который является glmm-моделью для перестановленных данных. Таким образом, у меня есть следующая структура:while loop in функция tryCatch
pglmm<-NULL
for (i in seq_along(Perm)){
pglmm[[i]]<-summary(lme("My GLMM model"))
}
Для обработки ошибки я попробовал эту структуру
pglmm<-NULL
for (i in seq_along(Perm)){
pglmm[[i]]<- tryCatch(summary(lme()),
error=function(err){
pglmm[[i]]<- summary(lme("My GLMM model on resample data"))
return(pglmm[[i]])
}
}
На данный момент он работает, но даже передискретизация только данные, в которых у меня есть ошибки, я могу иметь проблема конвергенции, поэтому мне нужно добавить цикл while для повторной выборки, пока эта ошибка конвергенции больше не появится. Однако я не знаю, где добавить этот цикл while (внутри error = function (err), или это должно быть при запуске цикла for?).
Заранее благодарю вас за помощь.