Perform Recursive Computations
Create a tree for use with rollup()
Validate a directed acyclic graph for use with rollup
Validate a tree for use with rollup()
Get property by key "id" from data frame
Get row by key "id" from data frame
Get ids from a data frame
Get keys from a data frame
Get row by key from data frame
Get row by key from data frame
Set property by key "id" in data frame
Set property by key in data frame
Set row by key "id" in data frame
Set row by key in data frame
Perform recursive computation
Update a property in a data frame with key "id"
Update a property in a data frame
Update a data set with recursively-defined properties
Update a rollup from a single leaf vertex
Validate a data frame with key "id" for rollup()
Validate a data frame For rollup()
Validates a data set for use with rollup()
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>).
Useful links