Counters are functions that are defined in terms of the change statistics. The counters also contain a hasher that is used internally to check whether an array's support is cached or not (see details).
get_counters(model)
# S3 method for class 'DEFM_counters'
counters[i]
set_counter_info(counter, new_name = "", new_desc = "")
# S3 method for class 'DEFM_counters'
length(x)
# S3 method for class 'DEFM_counters'
as.list(x, ...)
# S3 method for class 'DEFM_counter'
as.list(x, ...)
set_counters_names(x, ...)
# S3 method for class 'DEFM'
set_counters_names(x, ...)
# S3 method for class 'DEFM_counters'
set_counters_names(x, ...)
A DEFM model object.
An object of class DEFM_counters
.
Integer from 0 to nterms - 1. Counter to get.
An object of class DEFM_counter
.
Strings with the new name and new description, respectively. If empty, no side effect.
Either a DEFM_counters
or a DEFM_counter
object.
Further arguments passed to the method (not used).
The function get_counters
returns an external pointer to an object of
class DEFM_counters
.
The method [.DEFM_counters
returns an individual counter of class
DEFM_counter
.
set_counter_info()
invisibly returns the modified counter.
The length
method for DEFM_counters
returns the number of counters
in the vector. This should match the return from nterms_defm()
.
The as.list
methods return a list with the name and description
of the counters.
The function set_counters_names()
returns the counters invisibly.
If the hash of an array–which are built using each counters' individual hashing functions–matches an existing array, then, the DEFM models reduce computational burden by recycling computations of the normalizing constant. For example, if a model only includes terms (counters) that do not feature individual-level characteristics like gender or age, then most likely all arrays in that model will use the same normalizing constant.
The function set_counter_info()
can be used to modify a counter name
and description. This is especially useful when a name is particularly
long.