| 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 (  | 
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(...) }
Since R version 3.4.0, when an expression (from ...) is not
true and is a call to all.equal, the error
message will report the (first part of the) differences reported by
all.equal(*).
(NULL if all statements in ... are TRUE.)
stop, warning;
assertCondition in package tools complements
stopifnot() for testing warnings and errors.
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)) # "disabling 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") # long all.equal() error messages are abbreviated: stopifnot(all.equal(rep(list(pi),4), list(3.1, 3.14, 3.141, 3.1415))) options(op) # revert to previous error handler