nl_param_random | R Documentation |
Create parameter sets with Latin Hypercube sampling or monte carlo
nl_param_random(n, ..., FUN) nl_param_mc(n, ...) nl_param_lhs(n, ...)
n
|
Number of parameter sets |
...
|
Parameters with ranges (numeric vectors) or a data frame with parameters as columns or a list of parameter values |
FUN
|
A function with parameters n and k, returns a matrix with k columns and numeric double values in range from 0 to 1 |
nl_param_lhs
returns n parameter value sets with LHC sampling.
It uses lhs::randomLHS
function and requires lhs package.
nl_param_mc
returns n parameter value sets with random parameters.
nl_param_random
returns n parameter value sets with custom defined method.
A data frame with parameter value sets
experiment <- nl_experiment( model_file = "models/Sample Models/Biology/Flocking.nlogo", setup_commands = c("setup", "repeat 100 [go]"), iterations = 5, param_values = nl_param_lhs( n = 100, # create 100 parameter value sets world_size = 50, population = 80, vision = 6, min_separation = c(0, 4), max_align_turn = c(0, 20) ), mapping = c( min_separation = "minimum-separation", max_align_turn = "max-align-turn"), step_measures = measures( converged = "1 - (standard-deviation [dx] of turtles + standard-deviation [dy] of turtles) / 2", mean_crowding = "mean [count flockmates + 1] of turtles" ), eval_criteria = criteria( c_converged = mean(step$converged), c_mcrowding = mean(step$mean_crowding) ), repetitions = 10, # repeat simulations 10 times random_seed = 1:10, eval_aggregate_fun = mean # aggregate over repetitions ) # custom sampling method must return a n x k matrix: nl_param_random( n = 5, foo = c(1, 2), bar = c(100, 200), baz = 4, FUN = function(n, k) matrix(runif(n*k), ncol = k) )