Returns a new NestedScale whose atom layer is frame, dropping every finer frame. Weights are summed over the collapsed atoms.

prune_scale(x, frame)

Arguments

x

A NestedScale.

frame

The frame to become the new atom layer.

Value

A NestedScale.

Details

The result is renamed "name@frame" with the parent recorded in meta$parent_name; every other meta field is preserved. Atoms with no code at frame are dropped, and that loss is reflected in meta$coverage.

Examples

prune_scale(scale_example(), "class")
#> NestedScale: example@class
#> Description: Synthetic example: reused code, non-nesting frame pair, and an unassigned atom 
#> Frames (2, coarsest first):
#>   - sector (2)
#>     - class (3)
#> Atoms: 3
#> Weights: size, count (default: size)