A nested discrete partition: a flat table of atoms plus the ordered
hierarchy of frames that groups them. The dimension is not named – time and
space are the subclasses timescales::Calendar and geoscales::Geoscale;
anything else (industries, income brackets, temperature regimes, technology
vintages) is declared directly.
NestedScale(leaftable, frames, members, key = "unit", meta = list())data.frame with a unique key column, one column per frame
in frames, and zero or more numeric weight columns.
Ordered character vector of frame names (coarsest first); each
must appear as a column of leaftable.
Named list; members[[f]] is the full ordered set of codes
present at frame f. Must equal the non-NA values of leaftable[[f]]
as a set.
Name of the atom key column (a single string, default "unit").
Named list of attributes (name, desc, weights,
default_weight, residuals (see scale_residuals()), labels,
source, sample bookkeeping).
A NestedScale object.
Construct with scale_from_leaftable().
scale_example()
#> NestedScale: example
#> Description: Synthetic example: reused code, non-nesting frame pair, and an unassigned atom
#> Frames (4, coarsest first):
#> - sector (2) [1 unit unassigned]
#> - class (3) [1 unit unassigned]
#> - group (3) [1 unit unassigned]
#> - unit (7)
#> Atoms: 7
#> Weights: size, count (default: size)