| stopifnot {base} | R Documentation |
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.
stopifnot(...)
... |
any number of (logical) R expressions,
which should evaluate to TRUE. |
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(...) }.
(NULL if all statements in ... are TRUE.)
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