# all_equal

##### A more flexible version of all.equal for vectors.

This function will return `TRUE`

whenever `base::all.equal()`

would return `TRUE`

, however it will also return `TRUE`

in some other cases:

If

`a`

is given and`b`

is not,`TRUE`

will be returned if all of the elements of`a`

are the same.If

`a`

is a scalar and`b`

is a vector or array,`TRUE`

will be returned if every element in`b`

is equal to`a`

.If

`a`

is a vector or array and`b`

is a scalar,`TRUE`

will be returned if every element in`a`

is equal to`b`

.

When this function does not return `TRUE`

, it returns `FALSE`

(unless it
errors). This is unlike `base::all.equal()`

.

##### Usage

`all_equal(a, b = NULL)`

##### Arguments

- a
A vector, array or list.

- b
Either

`NULL`

or a vector, array or list of length either 1 or`length(a)`

.

##### Value

`TRUE`

if "equality of all" is satisfied (as detailed in
'Description' above) and `FALSE`

otherwise.

##### Note

There's also

`dplyr::all_equal()`

, which is different again. To avoid confusion, always use the full`filesstrings::all_equal()`

and never`library(filesstrings)`

followed by just`all_equal()`

.

##### Examples

```
# NOT RUN {
all_equal(1, rep(1, 3))
all_equal(2, 1:3)
all_equal(1:4, 1:4)
all_equal(1:4, c(1, 2, 3, 3))
all_equal(rep(1, 10))
all_equal(c(1, 88))
all_equal(1:2)
all_equal(list(1:2))
all_equal(1:4, matrix(1:4, nrow = 2)) # note that this gives TRUE
# }
```

*Documentation reproduced from package filesstrings, version 3.1.1, License: GPL-3*