View source: R/is-empty-scalar.R
assert_has_elements | R Documentation |
Checks to see if the input has length zero/one.
assert_has_elements(x, n, severity = getOption("assertive.severity", "stop")) assert_is_empty( x, metric = c("length", "elements"), severity = getOption("assertive.severity", "stop") ) assert_is_non_empty( x, metric = c("length", "elements"), severity = getOption("assertive.severity", "stop") ) assert_is_non_scalar( x, metric = c("length", "elements"), severity = getOption("assertive.severity", "stop") ) assert_is_of_dimension( x, n, severity = getOption("assertive.severity", "stop") ) assert_is_of_length(x, n, severity = getOption("assertive.severity", "stop")) assert_is_scalar( x, metric = c("length", "elements"), severity = getOption("assertive.severity", "stop") ) is_empty(x, metric = c("length", "elements"), .xname = get_name_in_parent(x)) is_non_empty( x, metric = c("length", "elements"), .xname = get_name_in_parent(x) ) is_non_scalar( x, metric = c("length", "elements"), .xname = get_name_in_parent(x) ) is_scalar(x, metric = c("length", "elements"), .xname = get_name_in_parent(x)) has_elements(x, n, .xname = get_name_in_parent(x)) is_of_dimension(x, n, .xname = get_name_in_parent(x)) is_of_length(x, n, .xname = get_name_in_parent(x))
x |
Input to check. |
n |
Non-negative integer(s) of the expected length/number of elements/ lengths of dimensions. See note. |
severity |
How severe should the consequences of the assertion be?
Either |
metric |
A string. Should be length or the number of elements be used to determine if the object is empty/non-empty/scalar? |
.xname |
Not intended to be used directly. |
is_empty
returns TRUE
if the input has length
zero. is_scalar
returns TRUE
if the input has length
one. The assert_*
functions return nothing but throw an
error if the corresponding is_*
function returns FALSE
.
For is_empty
, is_non_empty
and is_scalar
, n
should be an single integer representing either the expected length or the
expected number of elements in x
. For is_of_dimension
n
should be a vector of integers representing the expected lengths of
dimensions.
length
.
# is_of_length returns TRUE if the length of an object # matches a specified value. is_of_length(1:5, 5) assert_is_of_length(1:5, 5) # has_elements returns TRUE if an object has a specified # number of elements. This is usually the same thing. has_elements(1:5, 5) assert_has_elements(1:5, 5) # Data frames and lists behave differently for length # and number of elements. d <- data.frame(x = 1:5, y = letters[1:5]) assert_is_of_length(d, 2) assert_has_elements(d, 10) l <- list(a = 1:5, b = list(b.a = 1:3, b.b = 1:7)) assert_is_of_length(l, 2) assert_has_elements(l, 15) # Functions always have length one, but may have lots of # elements. assert_is_of_length(var, 1) assert_has_elements(var, 54) # is_scalar is a shortcut for length one, or one elements. assert_is_scalar(99) assert_is_scalar("Multiple words in a single string are scalar.") assert_is_scalar(NA) # The two metrics can yield different results! is_scalar(list(1:5)) is_scalar(list(1:5), "elements") is_scalar(var) is_scalar(var, "elements") # Similarly, is_empty is a shortcut for length zero/zero elements. assert_is_empty(NULL) assert_is_empty(numeric()) assert_is_non_empty(1:10) assert_is_non_empty(NA) # is_of_dimension tests the lengths of all dimensions. assert_is_of_dimension(d, c(5, 2)) assert_is_of_dimension(l, NULL)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.