rollupTree: Perform Recursive Computations

Mass rollup for a Bill of Materials is an example of a class of computations in which elements are arranged in a tree structure and some property of each element is a computed function of the corresponding values of its child elements. Leaf elements, i.e., those with no children, have values assigned. In many cases, the combining function is simple arithmetic sum; in other cases (e.g., mass properties), the combiner may involve other information such as the geometric relationship between parent and child, or statistical relations such as root-sum-of-squares (RSS). This package implements a general function for such problems. It is adapted to specific recursive computations by functional programming techniques; the caller passes a function as the update parameter to rollup() (or, at a lower level, passes functions as the get, set, combine, and override parameters to update_prop()) at runtime to specify the desired operations. The implementation relies on graph-theoretic algorithms from the 'igraph' package of Csárdi, et al. (2006 <doi:10.5281/zenodo.7682609>).

Package details

AuthorJames Steven Jenkins [aut, cre, cph] (ORCID: <https://orcid.org/0000-0002-0725-0884>)
MaintainerJames Steven Jenkins <sjenkins@studioj.us>
LicenseMIT + file LICENSE
Version0.4.1
URL https://jsjuni.github.io/rollupTree/ https://github.com/jsjuni/rollupTree
Package repositoryView on CRAN
Installation Install the latest version of this package by entering the following in R:
install.packages("rollupTree")

Try the rollupTree package in your browser

Any scripts or data that you put into this service are public.

rollupTree documentation built on Feb. 10, 2026, 5:09 p.m.