Transform a value with associated transformation function(s).

trafoValue(par, x)

Arguments

par

(Param | ParamSet)
Parameter or parameter set.

x

(any)
Single value to check. For a parameter set this must be a list. If the list is unnamed (not recommended) it must be in the same order as the param set. If it is named, its names must match the parameter names in the param set.

Value

Transformed value.

Examples

# transform simple parameter:
p = makeNumericParam(id = "x", trafo = function(x) x^2)
trafoValue(p, 2)
#> [1] 4
# for a parameter set different transformation functions are possible:
ps = makeParamSet(
  makeIntegerParam("u", trafo = function(x) 2 * x),
  makeNumericVectorParam("v", len = 2, trafo = function(x) x / sum(x)),
  makeDiscreteParam("w", values = c("a", "b"))
)
# now the values of "u" and "v" are transformed:
trafoValue(ps, list(3, c(2, 4), "a"))
#> $u
#> [1] 6
#> 
#> $v
#> [1] 0.3333333 0.6666667
#> 
#> $w
#> [1] "a"
#>