I am building parameter sets from makeParamSet and generateDesignfunctions (ParamHelpers package) in R. How can I include a formula using parameters that are already defined in the makeParamSet function ? Here is an example where I would like that g is the product of a and c:
ps <- makeParamSet(makeIntegerParam("a", lower=800, upper=7200),
makeIntegerParam("c", lower=632, upper=5688),
makeIntegerParam("e", lower=5, upper=45),
makeIntegerParam("b", lower=0, upper=7200),
makeIntegerParam("d", lower=0, upper=5688),
makeIntegerParam("f", lower=0, upper=45))
Y <- generateDesign(10, ps, trafo = T)
Here are my attempts:
ps <- makeParamSet(makeIntegerParam("a", lower=800, upper=7200),
makeIntegerParam("c", lower=632, upper=5688),
makeIntegerParam("e", lower=5, upper=45),
makeIntegerParam("b", lower=0, upper=7200),
makeIntegerParam("d", lower=0, upper=5688),
makeIntegerParam("f", lower=0, upper=45),
makeIntegerParam("g", lower = 1, upper = 1, trafo = function(x,a,c) x*a*c))
Y <- generateDesign(10, ps, trafo = T)
ps <- makeParamSet(makeIntegerParam("a", lower=800, upper=7200),
makeIntegerParam("c", lower=632, upper=5688),
makeIntegerParam("e", lower=5, upper=45),
makeIntegerParam("b", lower=0, upper=7200),
makeIntegerParam("d", lower=0, upper=5688),
makeIntegerParam("f", lower=0, upper=45),
makeIntegerParam("g", require = quote(a*c)))
Y <- generateDesign(10, ps, trafo = T)
Edit:
The g parameter should be defined in makeParamSet because my goal is to add forbidden region using g as follows:
ps <- makeParamSet(makeIntegerParam("a", lower=800, upper=7200), ## bT
makeIntegerParam("c", lower=632, upper=5688), ## kR
makeIntegerParam("e", lower=5, upper=45),
makeIntegerParam("b", lower=0, upper=7200),
makeIntegerParam("d", lower=0, upper=5688),
makeIntegerParam("f", lower=0, upper=45),
makeIntegerParam("g", require = a*c),
makeIntegerParam("h", lower=0, upper= max(g), ## Depends on g
forbidden = quote(h > g)))
Y <- generateDesign(10, ps, trafo = T)