# checkmate v2.0.0

0

0th

Percentile

## Fast and Versatile Argument Checks

Tests and assertions to perform frequent argument checks. A substantial part of the package was written in C to minimize any worries about execution time overhead.

# checkmate

Fast and versatile argument checks for R.

Ever used an R function that produced a not-very-helpful error message, just to discover after minutes of debugging that you simply passed a wrong argument?

Blaming the laziness of the package author for not doing such standard checks (in a dynamically typed language such as R) is at least partially unfair, as R makes theses types of checks cumbersome and annoying. Well, that's how it was in the past.

Enter checkmate.

Virtually every standard type of user error when passing arguments into function can be caught with a simple, readable line which produces an informative error message in case. A substantial part of the package was written in C to minimize any worries about execution time overhead. Furthermore, the package provides over 30 expectations to extend the popular testthat package for unit tests.

## Installation

install.packages("checkmate")


For the development version, use devtools:

devtools::install_github("mllg/checkmate")


## Functions in checkmate

 Name Description checkAtomicVector Check that an argument is an atomic vector checkAtomic Check that an argument is an atomic vector AssertCollection Collect multiple assertions checkDisjunct Check if an argument is disjunct from a given set checkDirectoryExists Check for existence and access rights of directories checkFileExists Check existence and access rights of files checkAccess Check file system access rights checkCount Check if an argument is a count checkFlag Check if an argument is a flag asInteger Convert an argument to an integer anyInfinite Check if an object contains infinite values checkLogical Check if an argument is a vector of type logical checkRaw Check if an argument is a raw vector checkMatrix Check if an argument is a matrix checkScalar Check if an argument is a single atomic value checkTRUE Check if an argument is TRUE checkDataFrame Check if an argument is a data frame checkArray Check if an argument is an array checkTibble Check if an argument is a tibble assert Combine multiple checks into one assertion qassertr Quick recursive arguments checks on lists and data frames register_test_backend Select Backend for Unit Tests checkDataTable Check if an argument is a data table checkDate Check that an argument is a Date checkFunction Check if an argument is a function checkChoice Check if an object is an element of a given set checkCharacter Check if an argument is a vector of type character checkFormula Check if an argument is a formula checkMultiClass Check the class membership of an argument checkFALSE Check if an argument is FALSE checkFactor Check if an argument is a factor checkComplex Check if an argument is a vector of type complex checkClass Check the class membership of an argument checkDouble Check that an argument is a vector of type double checkNames Check names to comply to specific rules checkNull Check if an argument is NULL checkOS Check the operating system checkNumber Check if an argument is a single numeric value checkEnvironment Check if an argument is an environment checkPOSIXct Check that an argument is a date/time object in POSIXct format matchArg Partial Argument Matching checkNumeric Check that an argument is a vector of type numeric qassert Quick argument checks on (builtin) R types checkList Check if an argument is a list checkInteger Check if an argument is vector of type integer checkIntegerish Check if an object is an integerish vector checkInt Check if an argument is a single integerish value checkR6 Check if an argument is a R6 class makeExpectation Turn a Check into an Expectation checkNamed Check if an argument is named checkPathForOutput Check if a path is suited for creating an output file checkString Check if an argument is a string checkScalarNA Check if an argument is a single missing value makeTest Turn a Check into a Test checkSubset Check if an argument is a subset of a given set checkmate-package checkmate: Fast and Versatile Argument Checks checkVector Check if an argument is a vector checkSetEqual Check if an argument is equal to a given set %??% Coalesce operator makeAssertion Turn a Check into an Assertion vname Lookup a variable name wf Get the index of the first/last TRUE anyNaN Check if an object contains NaN values allMissing Check if an object contains missing values No Results!