If you have a function that may produce warnings you can use withCallingHandlers() to make a new function that does what the original does but adds some contextual information to the usual warning report. E.g.,
addWarningReporting <- function(FUN) { force(FUN) function(args) { withCallingHandlers( FUN(args), warning=function(w){ cat("WARNING: ") print(w) cat(" args=", deparse(args), "\n") invokeRestart("muffleWarning")} ) } } > for(i in -2:2) log(i) Warning messages: 1: In log(i) : NaNs produced 2: In log(i) : NaNs produced > myLog <- addWarningReporting(log) > for(i in -2:2) myLog(i) WARNING: <simpleWarning in FUN(args): NaNs produced> args= -2L WARNING: <simpleWarning in FUN(args): NaNs produced> args= -1L Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > -----Original Message----- > From: r-help-boun...@r-project.org > [mailto:r-help-boun...@r-project.org] On Behalf Of Ravi Varadhan > Sent: Friday, February 18, 2011 8:29 AM > To: r-help@r-project.org > Subject: [R] How to flag those iterations which yield a warning? > > Hi, > > I am running a simulation study with the survival::coxph. > Some of the simulations result in problematic fits due to > flat partial likelihood. So, you get the warning message: > > Warning message: > In fitter(X, Y, strats, offset, init, control, weights = > weights, ... : > Loglik converged before variable 2 ; beta may be infinite. > > How can I keep track of the simulations which yield any kind > of warning message, so that I can appropriately handle them > in the post-processing of simulation results? > > I know that `try' can be used to capture errors, but I would > like to capture and detect warnings. > > Any pointers would be appreciated. > > Thanks, > Ravi. > ____________________________________________________________________ > > Ravi Varadhan, Ph.D. > Assistant Professor, > Division of Geriatric Medicine and Gerontology > School of Medicine > Johns Hopkins University > > Ph. (410) 502-2619 > email: rvarad...@jhmi.edu > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.