chk Families

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.

Check Logical

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

Check Scalars

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()

Check Ranges

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)

Check Equals

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))

Check Alls

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))

Check Set

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)))

Check Is

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")

Check Typeof

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)

Check NULLs

Function | Code :- | :--- chk_null(x) | is.null(x) chk_not_null(x) | !is.null(x)

Check Ellipsis

Function | Code :- | :--- chk_used(...) | length(list(...)) != 0L chk_unused(...) | length(list(...)) == 0L

Check Files

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)

Check Miscellaneous

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)

Check

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)



Try the chk package in your browser

Any scripts or data that you put into this service are public.

chk documentation built on Oct. 6, 2023, 9:06 a.m.