________________________________
From: Ben Bolker <bbolker at gmail.com>
Sent: Friday, March 23, 2018 10:42:47 AM
To: Andrew Robinson
Cc: Aleksander Adam Glowka; Help Mixed Models
Subject: Re: [R-sig-ME] prevent for-loop from stopping after an lmer warning/error
Is your loop really stopping after warnings (that would be
surprising), not just after errors?
On Thu, Mar 22, 2018 at 3:42 PM, Andrew Robinson <apro at unimelb.edu.au> wrote:
?try
?tryCatch
Cheers,
Andrew
On 23 March 2018 at 06:18, Aleksander Adam Glowka <aglowka at stanford.edu>
wrote:
Hi all,
I'm fitting mixed-effects regression models to bootstrap samples in a
for-loop and writing a subset of model results to file. I diverted the
stream from the console to a text file so I can keep track any warnings or
errors. For some samples the model does not converge and a warning is
issued. For other samples there is an error in calculation of the
Satterthwaite's approximation. The problem is that my loop iteration is
aborted for some reason after a warning is issued. Do you know why this
might be happening and how I can make the loops continue to the next
iteration after an error or a warning?
Below I've included an abridged version of my script and the warnings and
errors I get. I'd be grateful for any advice you may have!
Thank you,
Aleksander Glowka
PhD Candidate
Department of Linguistics
Stanford University
#packages
require(lme4)
require(lmerTest)
setwd(path0)
source("lmer-data-extract-boot-fnc.R") #selected lmer results extractor
# divert messages stream to file, so you can log warnings and errors
options(warn=1)
wngs=file("warnings_log.txt",open="w+",blocking=TRUE)
sink(wngs,type="message")
for(iter in 1:2000){
setwd(path1)
data = read.csv(paste("sample", iter,".csv", sep=""), header=TRUE)
#log model number to file so that any potential warnings/errors appear
underneath
message(paste("holistic model #", iter, sep=""))
mod = lmer(y ~ x1 +
x2 +
x3 +
(1|ranef1) +
(x1|ranef2),
data = data,
REML = FALSE)
#write model results to file
setwd(path2)
write.csv(lmer.data.extract.boot(mod, iter), paste("mod.fixef_", iter,
".csv", sep=""), row.names=TRUE) #fixed effects
write.csv(lmer.ranef.data.extract.boot(holistic.mod, iter),
paste("mod.ranef_", iter, ".csv", sep=""), row.names=FALSE)
write.csv(lmer.optim.data.extract.boot(holistic.mod, iter),
paste("mod.optim_", iter, ".csv", sep=""), row.names=TRUE)
write.csv(as.data.frame(holistic.mod at optinfo$derivs$Hessian),
paste("mod.hessian_", iter, ".csv", sep=""))
write.csv(summary(holistic.mod)$resid, paste("mod.resid_", iter,
".csv", sep=""), row.names=FALSE)
write(unlist(holistic.mod at optinfo$conv$lme4$messages),
paste("mod.warnings_", iter, ".txt", sep=""))
cat("Iteration", iter, "completed!\n")
}
#close log file & restore warnings stream to console
closeAllConnections()
Errors:
Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl =
control$checkConv, :
unable to evaluate scaled gradient
Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl =
control$checkConv, :
Model failed to converge: degenerate Hessian with 1 negative eigenvalues
Error in calculation of the Satterthwaite's approximation. The output of
lme4 package is returned
summary from lme4 is returned
some computational error has occurred in lmerTest
[[alternative HTML version deleted]]
_______________________________________________
R-sig-mixed-models at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
--
Andrew Robinson
Director, CEBRA, School of BioSciences
Reader & Associate Professor in Applied Statistics Tel: (+61) 0403 138 955
School of Mathematics and Statistics Fax: (+61) 03
8344 4599
University of Melbourne, VIC 3010 Australia
Email: apro at unimelb.edu.au
Website: http://www.ms.unimelb.edu.au/~andrewpr
[[alternative HTML version deleted]]
_______________________________________________
R-sig-mixed-models at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
[[alternative HTML version deleted]]
_______________________________________________
R-sig-mixed-models at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models