base (version 3.6.2)

warning: Warning Messages


Generates a warning message that corresponds to its argument(s) and (optionally) the expression or function from which it was called.


warning(…, call. = TRUE, immediate. = FALSE, noBreaks. = FALSE,
        domain = NULL)


zero or more objects which can be coerced to character (and which are pasted together with no separator) or a single condition object.


logical, indicating if the call should become part of the warning message.


logical, indicating if the call should be output immediately, even if getOption("warn") <= 0.


logical, indicating as far as possible the message should be output as a single line when options(warn = 1).


expression to evaluate.


see gettext. If NA, messages will not be translated, see also the note in stop.


The warning message as character string, invisibly.


The result depends on the value of options("warn") and on handlers established in the executing code.

If a condition object is supplied it should be the only argument, and further arguments will be ignored, with a message.

warning signals a warning condition by (effectively) calling signalCondition. If there are no handlers or if all handlers return, then the value of warn = getOption("warn") is used to determine the appropriate action. If warn is negative warnings are ignored; if it is zero they are stored and printed after the top--level function has completed; if it is one they are printed as they occur and if it is 2 (or larger) warnings are turned into errors. Calling warning(immediate. = TRUE) turns warn <= 0 into warn = 1 for this call only.

If warn is zero (the default), a read-only variable last.warning is created. It contains the warnings which can be printed via a call to warnings.

Warnings will be truncated to getOption("warning.length") characters, default 1000, indicated by [... truncated].

While the warning is being processed, a muffleWarning restart is available. If this restart is invoked with invokeRestart, then warning returns immediately.

An attempt is made to coerce other types of inputs to warning to character vectors.

suppressWarnings evaluates its expression in a context that ignores all warnings.


Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also

stop for fatal errors, message for diagnostic messages, warnings, and options with argument warn=.

gettext for the mechanisms for the automated translation of messages.


Run this code
testit <- function() warning("testit")
testit() ## shows call
testit <- function() warning("problem in testit", call. = FALSE)
testit() ## no call
# }

Run the code above in your browser using DataLab