[R] tracing the origin of warning messages

Prof Brian Ripley ripley at stats.ox.ac.uk
Mon May 3 11:00:48 CEST 2010


On Mon, 3 May 2010, Thomas Wutzler wrote:

> Dear R Users,
>
> what is the best way to trace the origin of warning messages?

options(warn=2)

at least for the first warning.


> If an error occurs I can use traceback() to see where it comes from. I
> would like to do similar investigation, where a warning message
> originates from.
> Is there an option to turn warnings to errors?

Yes: did you not find it under ?options ?

> I tried the following
>> fWarn <- function(){ warning("A") }
>> options(warning.expression = stop())
>> fWarn()
>> traceback()
> 2: stop()
> 1: options(warning.expression = stop())
>
> Hence, it does not give me the desired stack trace and the information
> that the warning occured in function fWarn, so far.

So print something useful there like the call stack, see ?sys.call.

> (using Windows XP, R version 2.10.1)
>
> Best regards
> Thomas Wutzler

-- 
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 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-help mailing list