Professional data validation for the R environment
HTML JavaScript R Other
Clone or download

Build Status Coverage Status CRAN Mentioned in Awesome Official Statistics

Easy data validation for the masses.

The validate R-package makes it super-easy to check whether data lives up to expectations you have based on domain knowledge. It works by allowing you to define data validation rules independent of the code or data set. Next you can confront a dataset, or various versions thereof with the rules. Results can be summarized, plotted, and so on. Below is a simple example.

> library(validate)
> library(magrittr)
> iris %>% check_that(Sepal.Width < 0.5*Sepal.Length) %>% summary()
  rule items passes fails nNA error warning                       expression
1   V1   150     79    71   0 FALSE   FALSE Sepal.Width < 0.5 * Sepal.Length

To get started, please read our Introductory vignette.

With validate, data validation rules are treated as first-class citizens. This means you can import, export, annotate, investigate and manipulate data validation rules in a meaninful way. See this vignette for rule import/export.


  • Slides of the useR2016 talk (Stanford University, June 28 2016).
  • Video of the satRdays talk (Hungarian Academy of Sciences, Sept 3 2016).


The latest release can be installed from the R command-line


Beta versions of the package can be installed through our drat repository.


Note that the beta version likely contain bugs (please report them!) and interfaces that may not be stable.