| isFeasible {ParamHelpers} | R Documentation |
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.
isFeasible(par, x, use.defaults = FALSE, filter = FALSE)
par |
|
x |
[any] |
use.defaults |
[ |
filter |
[ |
[logical(1)].
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