Skip to contents

A collection of multiple ParamSet objects.

  • The collection is basically a light-weight wrapper / container around references to multiple sets.

  • In order to ensure unique param names, every param in the collection is referred to with "<set_id>.<param_id>". Parameters from ParamSets with empty (i.e. "") $set_id are referenced directly. Multiple ParamSets with $set_id "" can be combined, but their parameter names must be unique.

  • Operation subset is currently not allowed.

  • Operation add currently only works when adding complete sets not single params.

  • When you either ask for 'values' or set them, the operation is delegated to the individual, contained param set references. The collection itself does not maintain a values state. This also implies that if you directly change values in one of the referenced sets, this change is reflected in the collection.

  • Dependencies: It is possible to currently handle dependencies

    • regarding parameters inside of the same set - in this case simply add the dependency to the set, best before adding the set to the collection

    • across sets, where a param from one set depends on the state of a param from another set - in this case add call add_dep on the collection.

    If you call deps on the collection, you are returned a complete table of dependencies, from sets and across sets.

Super class

paradox::ParamSet -> ParamSetCollection

Active bindings

params

(named list())
List of Param, named with their respective ID.

params_unid

(named list())
List of Param, named with their true ID. However, this field has the Param's $id value set to a potentially invalid value. This active binding should only be used internally.

deps

(data.table::data.table())
Table has cols id (character(1)) and on (character(1)) and cond (Condition). Lists all (direct) dependency parents of a param, through parameter IDs. Internally created by a call to add_dep. Settable, if you want to remove dependencies or perform other changes.

values

(named list())
Currently set / fixed parameter values. Settable, and feasibility of values will be checked when you set them. You do not have to set values for all parameters, but only for a subset. When you set values, all previously set values will be unset / removed.

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage

Arguments

sets

(list() of ParamSet)
Parameter objects are cloned.


Method add()

Adds a set to this collection.

Usage

ParamSetCollection$add(p)

Arguments

p

(ParamSet).


Method remove_sets()

Removes sets of given ids from collection.

Usage

ParamSetCollection$remove_sets(ids)

Arguments

ids

(character()).


Method subset()

Only included for consistency. Not allowed to perform on ParamSetCollections.

Usage

ParamSetCollection$subset(ids)

Arguments

ids

(character()).


Method clone()

The objects of this class are cloneable with this method.

Usage

ParamSetCollection$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.