ParamSetShadow: ParamSetShadow

ParamSetShadowR Documentation

ParamSetShadow

Description

Wraps another ParamSet and shadows out a subset of its Domains. The original ParamSet can still be accessed through the ⁠$origin⁠ field; otherwise, the ParamSetShadow behaves like a ParamSet where the shadowed Domains are not present.

Super class

paradox::ParamSet -> ParamSetShadow

Active bindings

params

(named list())
Table of rows identifying the contained Domains

params_unid

(named list of Param) List of Param that are members of the wrapped ParamSet with the shadowed Params removed. This is a field mostly for internal usage that has the ⁠$id⁠s set to invalid values but avoids cloning overhead.
Deprecated by the upcoming paradox package update and will be removed in the future.

deps

(data.table)
Table of dependencies, as in ParamSet. The dependencies that are related to shadowed parameters are not exposed. This data.table should be seen as read-only and not modified in-place; instead, the ⁠$origin⁠'s ⁠$deps⁠ should be modified.

values

(named list)
List of values, as in ParamSet, with the shadowed values removed.

set_id

(data.table)
Id of the wrapped ParamSet. Changing this value will also change the wrapped ParamSet's ⁠$set_id⁠ accordingly.

origin

(ParamSet)
ParamSet being wrapped. This object can be modified by reference to influence the ParamSetShadow object itself.

Methods

Public methods

Inherited methods

Method new()

Initialize the ParamSetShadow object.

Usage
ParamSetShadow$new(set, shadowed)
Arguments
set

(ParamSet)
ParamSet to wrap.

shadowed

(character)
Ids of Domains to shadow from sets, must be a subset of set$ids().


Method test_constraint()

Checks underlying ParamSet's constraint. It uses the underlying ⁠$values⁠ for shadowed values.

Usage
ParamSetShadow$test_constraint(x, ...)
Arguments
x

(named list) values to test

...

Further arguments passed to ParamSet's ⁠$test_constraint()⁠ function.

Returns

logical(1).


Method add_dep()

Adds a dependency to the unterlying ParamSet.

Usage
ParamSetShadow$add_dep(id, on, cond, allow_dangling_dependencies = FALSE, ...)
Arguments
id

(character(1))

on

(character(1))

cond

(Condition)

allow_dangling_dependencies

(logical(1)): Whether to allow dependencies on parameters that are not present.

...

Further arguments passed to ParamSet's ⁠$add_dep()⁠ function.

Returns

invisible(self).


Method clone()

The objects of this class are cloneable with this method.

Usage
ParamSetShadow$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Examples

p1 = ps(x = p_dbl(0, 1), y = p_lgl())
p1$values = list(x = 0.5, y = TRUE)
print(p1)

p2 = ParamSetShadow$new(p1, "x")
print(p2$values)

p2$values$y = FALSE
print(p2)

print(p2$origin$values)

miesmuschel documentation built on Sept. 11, 2024, 8:23 p.m.