R/sample.R
sampleValue.Rd
Sample a random value from a parameter or a parameter set uniformly.
Dependent parameters whose requirements are not satisfied are represented by a scalar NA in the output.
sampleValue(par, discrete.names = FALSE, trafo = FALSE)
The return type is determined by the type of the parameter. For a set a named list of such values in the correct order is returned.
# bounds are necessary here, can't sample with Inf bounds:
u = makeNumericParam("x", lower = 0, upper = 1)
# returns a random number between 0 and 1:
sampleValue(u)
#> [1] 0.6723671
p = makeDiscreteParam("x", values = c("a", "b", "c"))
# can be either "a", "b" or "c"
sampleValue(p)
#> [1] "c"
p = makeIntegerVectorParam("x", len = 2, lower = 1, upper = 5)
# vector of two random integers between 1 and 5:
sampleValue(p)
#> [1] 5 1
ps = makeParamSet(
makeNumericParam("x", lower = 1, upper = 10),
makeIntegerParam("y", lower = 1, upper = 10),
makeDiscreteParam("z", values = 1:2)
)
sampleValue(ps)
#> $x
#> [1] 4.81145
#>
#> $y
#> [1] 7
#>
#> $z
#> [1] 2
#>