Learn R Programming

assertive (version 0.2-6)

assert_is_atomic: Is the input atomic/recursive/vector?

Description

Checks to see if the input is a type that is atomic/recursive/vector.

Usage

assert_is_atomic(x)

assert_is_recursive(x)

assert_is_vector(x)

is_atomic(x, .xname = get_name_in_parent(x))

is_recursive(x, .xname = get_name_in_parent(x))

is_vector(x, .xname = get_name_in_parent(x))

Arguments

x
Input to check.
.xname
Not intended to be used directly.

Value

  • is_atomic, is_recursive and is_vector wrap is.atomic, is.recursive and is.vector respectively, providing more information on failure. The assert_* functions return nothing but throw an error if the corresponding is_* function returns FALSE.

See Also

is.atomic and is.recursive.

Examples

Run this code
atomic_types <- list(
  logical(),
  integer(),
  numeric(),
  complex(),
  character(),
  raw(),
  matrix(),
  array(),
  NULL
)
for(var in atomic_types) assert_is_atomic(var)
recursive_types <- list(
  list(),
  expression(),
  data.frame(),
  y ~ x,
  function(){},
  call("sin", "pi")
)
for(var in recursive_types) assert_is_recursive(var)
vector_types <- c(
  atomic_types[1:6],
  recursive_types[1:2]
)
for(var in vector_types) assert_is_vector(var)

Run the code above in your browser using DataLab