[R] How to flag those iterations which yield a warning?

Ravi Varadhan rvaradhan at jhmi.edu
Sat Feb 19 06:23:37 CET 2011


Dear Bill - your solution works beautifully.  Thank you very much.  

David - thank you as well for your solution.  It also works.

Best regards,
Ravi.
____________________________________________________________________

Ravi Varadhan, Ph.D.
Assistant Professor,
Division of Geriatric Medicine and Gerontology
School of Medicine
Johns Hopkins University

Ph. (410) 502-2619
email: rvaradhan at jhmi.edu


----- Original Message -----
From: William Dunlap <wdunlap at tibco.com>
Date: Friday, February 18, 2011 11:58 am
Subject: RE: [R] How to flag those iterations which yield a warning?
To: Ravi Varadhan <rvaradhan at jhmi.edu>, r-help at r-project.org


> 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-bounces at r-project.org 
>  > [ On Behalf Of Ravi Varadhan
>  > Sent: Friday, February 18, 2011 8:29 AM
>  > To: r-help at 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: rvaradhan at jhmi.edu
>  > 
>  > ______________________________________________
>  > R-help at r-project.org mailing list
>  > 
>  > PLEASE do read the posting guide 
>  > 
>  > and provide commented, minimal, self-contained, reproducible code.
>  >



More information about the R-help mailing list