validate - asserts the following:

• outcomes must have factor 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_outcomes_are_factors(outcomes)

check_outcomes_are_factors(outcomes)

## Arguments

outcomes An object to check.

## Value

validate_outcomes_are_factors() returns outcomes invisibly.

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

The expected way to use this validation function is to supply it the $outcomes 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 Other validation functions: validate_column_names(), validate_no_formula_duplication(), validate_outcomes_are_binary(), validate_outcomes_are_numeric(), validate_outcomes_are_univariate(), validate_prediction_size(), validate_predictors_are_numeric() ## Examples # Not a factor column. check_outcomes_are_factors(data.frame(x = 1)) #>$ok
#> [1] FALSE
#>
#> $bad_classes #>$bad_classes$x #> [1] "numeric" #> #> # All good check_outcomes_are_factors(data.frame(x = factor(c("A", "B")))) #>$ok
#> [1] TRUE
#>