| stopifnot {base} | R Documentation |
Ensure the Truth of R Expressions
Description
If any of the expressions in ... are not all
TRUE, stop is called, producing an error message
indicating the first of the elements of ... which were
not true.
Usage
stopifnot(...)
Arguments
... |
any number of ( |
Details
This function is intended for use in regression tests or also argument checking of functions, in particular to make them easier to read.
stopifnot(A, B) is conceptually equivalent to
{ if(any(is.na(A)) || !all(A)) stop(...) ;
if(any(is.na(B)) || !all(B)) stop(...) }.
Value
(NULL if all statements in ... are TRUE.)
See Also
stop, warning.
Examples
stopifnot(1 == 1, all.equal(pi, 3.14159265), 1 < 2) # all TRUE
m <- matrix(c(1,3,3,1), 2,2)
stopifnot(m == t(m), diag(m) == rep(1,2)) # all(.) |=> TRUE
op <- options(error = expression(NULL))
# "disable stop(.)" << Use with CARE! >>
stopifnot(all.equal(pi, 3.141593), 2 < 2, all(1:10 < 12), "a" < "b")
stopifnot(all.equal(pi, 3.1415927), 2 < 2, all(1:10 < 12), "a" < "b")
options(op)# revert to previous error handler