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 (`logical` ) **R** expressions. |

which should evaluate to `TRUE`

.

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

[Package

*base* version 2.5.0

Index]