R: Print Warning Messages

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 `cat` (for `warnings()`).
`object` | a `"warnings"` object as returned by `warnings()`.
`x` | a `"warnings"` or `"summary.warnings"` object.
`tags` | if not `missing`, a `character` vector of the same `length` as `x`, to “label” the messages. Defaults to `paste0(seq_len(n), ": ")` for n >= 2 where `n <- length(x)`.
`header` | a character string `cat()`ed before the messages are printed.

### 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`.

`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

`warning`.

### 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)

[Package base version 4.0.5 Index]