MutatorDiscrete {miesmuschel} | R Documentation |
Discrete Mutator Base Class
Description
Base class for mutation operations on discrete individuals, inheriting from Mutator
.
MutatorDiscrete
operators perform mutation on discrete (logical and factor valued) individuals. Inheriting
operators implement the private $.mutate_discrete()
function that is called once for each individual
and is given a character vector.
Inheriting
MutatorDiscrete
is an abstract base class and should be inherited from. Inheriting classes should implement the private $.mutate_discrete()
function. During $operate()
, the $.mutate_discrete()
function is called once for each individual, with the parameters values
(the
individual as a single character
vector), and levels
(a list of character
containing the possible values for each element of values
). Typically,
$initialize()
should also be overloaded.
Super classes
miesmuschel::MiesOperator
-> miesmuschel::Mutator
-> MutatorDiscrete
Methods
Public methods
Inherited methods
Method new()
Initialize base class components of the MutatorNumeric
.
Usage
MutatorDiscrete$new( param_classes = c("ParamLgl", "ParamFct"), param_set = ps(), packages = character(0), dict_entry = NULL, own_param_set = quote(self$param_set) )
Arguments
param_classes
(
character
)
Classes of parameters that the operator can handle. May contain any of"ParamLgl"
,"ParamFct"
. Default is both of them.
The$param_classes
field will reflect this value.param_set
(
ParamSet
|list
ofexpression
)
Strategy parameters of the operator. This should be created by the subclass and given tosuper$initialize()
. If this is aParamSet
, it is used as theMiesOperator
'sParamSet
directly. Otherwise it must be alist
of expressions e.g. created byalist()
that evaluate toParamSet
s, possibly referencingself
andprivate
. TheseParamSet
are then combined using aParamSetCollection
. Default is the emptyParamSet
.
The$param_set
field will reflect this value.packages
(
character
) Packages that need to be loaded for the operator to function. This should be declared so these packages can be loaded when operators run on parallel instances. Default ischaracter(0)
.
The$packages
field will reflect this values.dict_entry
(
character(1)
|NULL
)
Key of the class inside theDictionary
(usually one ofdict_mutators
,dict_recombinators
,dict_selectors
), where it can be retrieved using a short access function. May beNULL
if the operator is not entered in a dictionary.
The$dict_entry
field will reflect this value.own_param_set
(
language
)
An expression that evaluates to aParamSet
indicating the configuration parameters that are entirely owned by this operator class (and not proxied from a construction argument object). This should bequote(self$param_set)
(the default) when theparam_set
argument is not a list of expressions.
Method clone()
The objects of this class are cloneable with this method.
Usage
MutatorDiscrete$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
See Also
Other base classes:
Filtor
,
FiltorSurrogate
,
MiesOperator
,
Mutator
,
MutatorNumeric
,
OperatorCombination
,
Recombinator
,
RecombinatorPair
,
Scalor
,
Selector
,
SelectorScalar
Other mutators:
Mutator
,
MutatorNumeric
,
OperatorCombination
,
dict_mutators_cmpmaybe
,
dict_mutators_erase
,
dict_mutators_gauss
,
dict_mutators_maybe
,
dict_mutators_null
,
dict_mutators_proxy
,
dict_mutators_sequential
,
dict_mutators_unif