[R] how to trap any warnings from an R function

Prof Brian D Ripley ripley at stats.ox.ac.uk
Tue Apr 30 19:00:04 CEST 2002


On Tue, 30 Apr 2002, Boryeu Mao wrote:

> Thanks for the reply.  The problem that I have in a nutshell is the
> following:
>
> usertest <- function {
>  ...
>  reg<-polr(act~., data=mm)
>  summary(reg)
>  return(reg$AIC)
>  }
>
> For some data, NaN's are produced (in sqrt(diag(vc))), and I'd like to trap
> this condition and any other warnings, so that a negative value, say, can be
> returned to the calling function to indicate the warning condition.
> Warnings from
> summary() are produced and placed in 'last.warning' but that is accessible
> only at the top-level, not within usertest(); I've tried setting 'warn' in
> options() but hadn't found a way to do this.  I'm still searching various
> docs for any ideas, and it seems to be something that might be quite
> straightforward.  Any points/ideas are appreciated.   Thanks!

To exmpand Jason's suggestion:

options(warn=2)
try(summary(reg))

should do this.  But of course you can test the condition directly, as
it will be in the object returned by summary(reg) (which in your code
sample does nothing useful, as it will not be auto-printed).


>
>
> -----Original Message-----
> From: Jason Turner [mailto:jasont at indigoindustrial.co.nz]
> Sent: Tuesday, April 30, 2002 12:23 PM
> To: Boryeu Mao
> Cc: r-help at stat.math.ethz.ch
> Subject: Re: [R] how to trap any warnings from an R function
>
>
> On Mon, Apr 29, 2002 at 12:43:56PM -0700, Boryeu Mao wrote:
> > Within an user function, how are the warnings from an R function be
> trapped
> > (such that some proper actions can be taken)?
>
> One way is with try()
>
> Cheers
>
> Jason
> --
> Indigo Industrial Controls Ltd.
> 64-21-343-545
> jasont at indigoindustrial.co.nz
> -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
> r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
> _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272860 (secr)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list