checkmate v2.0.0

0

Monthly downloads

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.

Readme

checkmate

CRAN_Status_Badge R build status Coverage Status Download Stats

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

For the stable release, just install the latest version from CRAN:

install.packages("checkmate")

For the development version, use devtools:

devtools::install_github("mllg/checkmate")

Resources

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!

Vignettes of checkmate

Name
checkmate.Rmd
tinytest.Rmd
No Results!

Last month downloads

Details

Type Package
URL https://github.com/mllg/checkmate
URLNote https://github.com/mllg/checkmate
BugReports https://github.com/mllg/checkmate/issues
NeedsCompilation yes
ByteCompile yes
Encoding UTF-8
License BSD_3_clause + file LICENSE
VignetteBuilder knitr
RoxygenNote 7.0.2
Collate 'AssertCollection.R' 'allMissing.R' 'anyInfinite.R' 'anyMissing.R' 'anyNaN.R' 'asInteger.R' 'assert.R' 'helper.R' 'makeExpectation.R' 'makeTest.R' 'makeAssertion.R' 'checkAccess.R' 'checkArray.R' 'checkAtomic.R' 'checkAtomicVector.R' 'checkCharacter.R' 'checkChoice.R' 'checkClass.R' 'checkComplex.R' 'checkCount.R' 'checkDataFrame.R' 'checkDataTable.R' 'checkDate.R' 'checkDirectoryExists.R' 'checkDisjunct.R' 'checkDouble.R' 'checkEnvironment.R' 'checkFALSE.R' 'checkFactor.R' 'checkFileExists.R' 'checkFlag.R' 'checkFormula.R' 'checkFunction.R' 'checkInt.R' 'checkInteger.R' 'checkIntegerish.R' 'checkList.R' 'checkLogical.R' 'checkMatrix.R' 'checkMultiClass.R' 'checkNamed.R' 'checkNames.R' 'checkNull.R' 'checkNumber.R' 'checkNumeric.R' 'checkOS.R' 'checkPOSIXct.R' 'checkPathForOutput.R' 'checkR6.R' 'checkRaw.R' 'checkScalar.R' 'checkScalarNA.R' 'checkSetEqual.R' 'checkString.R' 'checkSubset.R' 'checkTRUE.R' 'checkTibble.R' 'checkVector.R' 'coalesce.R' 'isIntegerish.R' 'matchArg.R' 'qassert.R' 'qassertr.R' 'vname.R' 'wfwl.R' 'zzz.R'
Packaged 2020-02-05 12:51:29 UTC; michel
Repository CRAN
Date/Publication 2020-02-06 01:00:13 UTC

Include our badge in your README

[![Rdoc](http://www.rdocumentation.org/badges/version/checkmate)](http://www.rdocumentation.org/packages/checkmate)