Skip to content

validate - asserts the following:

  • outcomes must have 1 column. Atomic vectors are treated as 1 column matrices.

check - returns the following:

  • ok A logical. Does the check pass?

  • n_cols A single numeric. The actual number of columns.






An object to check.


validate_outcomes_are_univariate() returns outcomes invisibly.

check_outcomes_are_univariate() returns a named list of two components, ok and n_cols.


The expected way to use this validation function is to supply it the $outcomes element of the result of a call to mold().


hardhat provides validation functions at two levels.

  • check_*(): check a condition, and return a list. The list always contains at least one element, ok, a logical that specifies if the check passed. Each check also has check specific elements in the returned list that can be used to construct meaningful error messages.

  • validate_*(): check a condition, and error if it does not pass. These functions call their corresponding check function, and then provide a default error message. If you, as a developer, want a different error message, then call the check_*() function yourself, and provide your own validation function.


validate_outcomes_are_univariate(data.frame(x = 1))

#> Error in validate_outcomes_are_univariate(mtcars) : 
#>   The outcome must be univariate, but 11 columns were found.