powered by
Node
data.tree
You can sort with respect to any argument of the tree. But note that sorting has side-effects, meaning that you modify the underlying, original data.tree object structure.
Sort(node, attribute, ..., decreasing = FALSE, recursive = TRUE)
Returns the node on which Sort is called, invisibly. This can be useful to chain Node methods.
The node whose children are to be sorted
determines what is collected. The attribute can be
attribute
a.) the name of a field or a property/active of each Node in the tree, e.g. acme$Get("p") or acme$Get("position")
acme$Get("p")
acme$Get("position")
b.) the name of a method of each Node in the tree, e.g. acme$Get("levelZeroBased"), where e.g. acme$levelZeroBased <- function() acme$level - 1
acme$Get("levelZeroBased")
acme$levelZeroBased <- function() acme$level - 1
c.) a function, whose first argument must be a Node e.g. acme$Get(function(node) node$cost * node$p)
acme$Get(function(node) node$cost * node$p)
any parameters to be passed on the the attribute (in case it's a method or a function)
sort order
if TRUE, Sort will be called recursively on the Node's children. This allows sorting an entire tree.
TRUE
Revert
data(acme) acme$Do(function(x) x$totalCost <- Aggregate(x, "cost", sum), traversal = "post-order") Sort(acme, "totalCost", decreasing = FALSE) print(acme, "totalCost")
Run the code above in your browser using DataLab