validate - asserts the following:

  • predictors must have numeric columns.

check - returns the following:

  • ok A logical. Does the check pass?

  • bad_classes A named list. The names are the names of problematic columns, and the values are the classes of the matching column.

validate_predictors_are_numeric(predictors)

check_predictors_are_numeric(predictors)

Arguments

predictors

An object to check.

Value

validate_predictors_are_numeric() returns predictors invisibly.

check_predictors_are_numeric() returns a named list of two components, ok, and bad_classes.

Details

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

Validation

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.

See also

Examples

# All good check_predictors_are_numeric(mtcars)
#> $ok #> [1] TRUE #> #> $bad_classes #> list() #>
# Species is not numeric check_predictors_are_numeric(iris)
#> $ok #> [1] FALSE #> #> $bad_classes #> $bad_classes$Species #> [1] "factor" #> #>
# This gives an intelligent error message try(validate_predictors_are_numeric(iris))
#> Error : All predictors must be numeric, but the following are not: #> 'Species': 'factor'