Learn R Programming

statnet.common (version 4.13.0)

all_identical: Test if all items in a vector or a list are identical.

Description

Test if all items in a vector or a list are identical.

Usage

all_identical(x, .p = identical, .ref = 1L, ...)

Value

By default TRUE if all elements of x are identical to each other, FALSE otherwise. In the general case, all_identical()

returns TRUE if and only if .p() returns TRUE for all the pairs involving the first element and the remaining elements.

Arguments

x

a vector or a list

.p

a predicate function of two arguments returning a logical. Defaults to identical().

.ref

integer; index of element of x to which all the remaining ones will be compared. Defaults to 1.

...

additional arguments passed to .p()

See Also

Examples

Run this code

stopifnot(!all_identical(1:3))

stopifnot(all_identical(list("a", "a", "a")))

# Using with `all.equal()` has its quirks 
# because of numerical tolerance:
x <- seq(
  .Machine$double.eps, 
  .Machine$double.eps + 1.1 * sqrt(.Machine$double.eps), 
  length = 3
)
# Results with `all.equal()` are affected by ordering
all_identical(x, all.equal) # FALSE
all_identical(x[c(2,3,1)], all.equal) # TRUE
# ... because `all.equal()` is intransitive
all_identical(x[-3], all.equal) # is TRUE and
all_identical(x[-1], all.equal) # is TRUE, but
all_identical(x[-2], all.equal) # is FALSE

Run the code above in your browser using DataLab