knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
The chk_
functions (and their vld_
equivalents) can be divided into the following families.
For reasons of space, the x_name = NULL
argument is not shown.
Function | Code
:- | :-
chk_true(x)
| is.logical(x) && length(x) == 1L && !anyNA(x) && x
chk_false(x)
| is.logical(x) && length(x) == 1L && !anyNA(x) && !x
chk_flag(x)
| is.logical(x) && length(x) == 1L && !anyNA(x)
chk_lgl(x)
| is.logical(x) && length(x) == 1L
Function | Code
:- | :------
chk_scalar(x)
| length(x) == 1L
chk_number(x)
| is.numeric(x) && length(x) == 1L && !anyNA(x)
chk_whole_number(x)
| vld_number(x) && (is.integer(x) || vld_true(all.equal(x, trunc(x))))
chk_string(x)
| is.character(x) && length(x) == 1L && !anyNA(x)
chk_date(x)
| inherits(x, "Date") && length(x) == 1L && !anyNA(x)
chk_datetime(x)
| inherits(x, "POSIXct") && length(x) == 1L && !anyNA(x)
chk_tz(x)
| is.character(x) && length(x) == 1L && !anyNA(x) && x %in% OlsonNames()
Function | Code
:- | :---
chk_range(x, range = c(0, 1))
| all(x[!is.na(x)] >= range[1] & x[!is.na(x)] <= range[2])
chk_lt(x, value = 0)
| all(x[!is.na(x)] < value)
chk_lte(x, value = 0)
| all(x[!is.na(x)] <= value)
chk_gt(x, value = 0)
| all(x[!is.na(x)] > value)
chk_gte(x, value = 0)
| all(x[!is.na(x)] >= value)
Function | Code
:-- | :-
chk_identical(x, y)
| identical(x, y)
chk_equal(x, y, tolerance = sqrt(.Machine$double.eps))
| vld_true(all.equal(x, y, tolerance))
chk_equivalent(x, y, tolerance = sqrt(.Machine$double.eps))
| vld_true(all.equal(x, y, tolerance, check.attributes = FALSE))
Function | Code
:- | :---
chk_all(x, chk_fun, ...)
| all(vapply(x, chk_fun, TRUE, ...))
chk_all_identical(x)
| length(x) < 2L || all(vapply(x, vld_identical, TRUE, y = x[[1]]))
chk_all_equal(x, tolerance = sqrt(.Machine$double.eps))
| length(x) < 2L || all(vapply(x, vld_equal, TRUE, y = x[[1]], tolerance = tolerance))
chk_all_equivalent(x, tolerance = sqrt(.Machine$double.eps))
| length(x) < 2L || all(vapply(x, vld_equivalent, TRUE, y = x[[1]], tolerance = tolerance))
Function | Code
:- | :---
chk_setequal(x, values)
| setequal(x, values)
chk_subset(x, values)
| all(x %in% values)
chk_superset(x, values)
| all(values %in% x)
chk_join(x, y, by)
| identical(nrow(x), nrow(merge(x, unique(y[if (is.null(names(by))) by else names(by)]), by = by)))
Function | Code
:- | :---
chk_atomic(x)
| is.atomic(x)
chk_function(x, formals = NULL)
| is.function(x) && (is.null(formals) || length(formals(x)) == formals)
chk_numeric(x)
| is.numeric(x)
chk_s3_class(x, class)
| !isS4(x) && inherits(x, class)
chk_s4_class(x, class)
| isS4(x) && methods::is(x, class)
chk_vector(x)
| is.vector(x)
chk_whole_numeric(x)
| is.integer(x) || (is.double(x) && vld_true(all.equal(x, as.integer(x))))
chk_array(x)
| is.array(x)
chk_matrix(x)
| is.matrix(x)
chk_data(x)
| inherits(x, "data.frame")
Function | Code
:- | :---
chk_environment(x)
| is.environment(x)
chk_list(x)
| is.list(x)
chk_logical(x)
| is.logical(x)
chk_double(x)
| is.double(x)
chk_integer(x)
| is.integer(x)
chk_character(x)
| is.character(x)
Function | Code
:- | :---
chk_null(x)
| is.null(x)
chk_not_null(x)
| !is.null(x)
Function | Code
:- | :---
chk_used(...)
| length(list(...)) != 0L
chk_unused(...)
| length(list(...)) == 0L
Function | Code
:- | :---
chk_file(x)
| vld_string(x) && file.exists(x) && !dir.exists(x)
chk_ext(x, ext)
| vld_string(x) && vld_subset(tools::file_ext(x), ext)
chk_dir(x)
| vld_string(x) && dir.exists(x)
Function | Code
:- | :--
chk_match(x, regexp = ".+")
| all(grepl(regexp, x[!is.na(x)]))
chk_named(x)
| !is.null(names(x))
chk_not_empty(x)
| length(x) != 0L
chk_not_any_na(x)
| !anyNA(x)
chk_unique(x, incomparables = FALSE)
| !anyDuplicated(x, incomparables = incomparables)
chk_sorted(x)
| is.unsorted(x)
Function
check_data(x, values = NULL, exclusive = FALSE, order = FALSE, nrow = numeric(0), key = character(0))
check_dim(x, dim = length, values = numeric(0), dim_name = NULL)
check_key(x, key = character(0), na_distinct = FALSE)
check_names(x, names = character(0), exclusive = FALSE, order = FALSE)
check_values(x, values)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.