isFeasible {ParamHelpers} | R Documentation |
Check if parameter value is valid.
Description
Check if a parameter value satisfies the constraints of the
parameter description. This includes the requires
expressions and the
forbidden
expression, if par
is a ParamSet()
. If requires
is not
satisfied, the parameter value must be set to scalar NA
to be still
feasible, a single scalar even in a case of a vector parameter. If the result
is FALSE
the attribute "warning"
is attached which gives the reason for
the negative result.
If the parameter has cnames
, these are also checked.
Usage
isFeasible(par, x, use.defaults = FALSE, filter = FALSE)
Arguments
par |
|
x |
(any) |
use.defaults |
( |
filter |
( |
Value
logical(1)
.
Examples
p = makeNumericParam("x", lower = -1, upper = 1)
isFeasible(p, 0) # True
isFeasible(p, 2) # False, out of bounds
isFeasible(p, "a") # False, wrong type
# now for parameter sets
ps = makeParamSet(
makeNumericParam("x", lower = -1, upper = 1),
makeDiscreteParam("y", values = c("a", "b"))
)
isFeasible(ps, list(0, "a")) # True
isFeasible(ps, list("a", 0)) # False, wrong order