warnings {base} | R Documentation |
Print Warning Messages
Description
warnings
and its print
method print the
variable last.warning
in a pleasing form.
Usage
warnings(...)
## S3 method for class 'warnings'
summary(object, ...)
## S3 method for class 'warnings'
print(x, tags,
header = ngettext(n, "Warning message:\n", "Warning messages:\n"),
...)
## S3 method for class 'summary.warnings'
print(x, ...)
Arguments
... |
arguments to be passed to |
object |
a |
x |
a |
tags |
if not |
header |
a character string |
Details
See the description of options("warn")
for the
circumstances under which there is a last.warning
object and
warnings()
is used. In essence this is if options(warn =
0)
and warning
has been called at least once.
Note that the length(last.warning)
is maximally
getOption("nwarnings")
(at the time the warnings are
generated) which is 50
by default. To increase, use something
like
options(nwarnings = 10000)
It is possible that last.warning
refers to the last recorded
warning and not to the last warning, for example if options(warn)
has
been changed or if a catastrophic error occurred.
Value
warnings()
returns an object of S3 class "warnings"
, basically a named
list
.
In R versions before 4.4.0, it returned NULL
when there
were no warnings, contrary to the above documentation.
summary(<warnings>)
returns a "summary.warnings"
object which is basically the list
of unique warnings
(unique(object)
) with a "counts"
attribute, somewhat
experimentally.
Warning
It is undocumented where last.warning
is stored nor that it is
visible, and this is subject to change.
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
See Also
Examples
## NB this example is intended to be pasted in,
## rather than run by example()
ow <- options("warn")
for(w in -1:1) {
options(warn = w); cat("\n warn =", w, "\n")
for(i in 1:3) { cat(i,"..\n"); m <- matrix(1:7, 3,4) }
cat("--=--=--\n")
}
## at the end prints all three warnings, from the 'option(warn = 0)' above
options(ow) # reset to previous, typically 'warn = 0'
tail(warnings(), 2) # see the last two warnings only (via '[' method)
## Often the most useful way to look at many warnings:
summary(warnings())
op <- options(nwarnings = 10000) ## <- get "full statistics"
x <- 1:36; for(n in 1:13) for(m in 1:12) A <- matrix(x, n,m) # There were 105 warnings ...
summary(warnings())
options(op) # revert to previous (keeping 50 messages by default)