【发布时间】:2017-06-07 01:22:03
【问题描述】:
我正在对置换数据运行 GLMM,对于其中一些数据,我有一条收敛错误消息。 由于这是我的空模型,我只需要重新采样这个特定的置换数据。 因此,我尝试处理 R 的 tryCatch 函数,但我遇到了一些失败。 我有 Perm 这是我的数据帧的置换数据集和 pglmm 这是置换数据的 glmm 模型。所以我有以下结构:
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 循环时添加?)。
提前感谢您的帮助。
【问题讨论】:
标签: r while-loop try-catch