Visualize and access the leaves of a tree of delayed operations
showtree
can be used to visualize the tree of delayed operations
carried by a DelayedArray object.
Use nseed
, seed
, or path
to access the number of seeds,
the seed, or the seed path of a DelayedArray object, respectively.
Use seedApply
to apply a function to the seeds of a
DelayedArray object.
showtree(x, show.node.dim=TRUE) nseed(x) # seed counter seed(x) # seed getter and setter path(object, ...) # path getter and setter seedApply(x, FUN, ...)
x, object |
Typically a DelayedArray object but can also be a DelayedOp object or a list where each element is a DelayedArray or DelayedOp object. |
show.node.dim |
|
FUN |
The function to be applied to each leaf in |
... |
Optional arguments to Additional arguments passed to methods for |
The number of seeds contained in x
for nseed
.
The seed contained in x
for seed
.
The path of the seed contained in object
for path
.
A list of length nseed(x)
for seedApply
.
simplify
to simplify the tree of delayed operations
carried by a DelayedArray object.
DelayedOp objects.
DelayedArray objects.
## --------------------------------------------------------------------- ## showtree(), nseed(), and seed() ## --------------------------------------------------------------------- m1 <- matrix(runif(150), nrow=15, ncol=10) M1 <- DelayedArray(m1) showtree(M1) seed(M1) M2 <- log(t(M1[5:1, c(TRUE, FALSE)] + 10))[-1, ] showtree(M2) ## In the above example, the tree is linear i.e. all the operations ## are represented by unary nodes. The simplest way to know if a ## tree is linear is by counting its leaves with nseed(): nseed(M2) # only 1 leaf means the tree is linear seed(M2) dimnames(M1) <- list(letters[1:15], LETTERS[1:10]) showtree(M1) m2 <- matrix(1:20, nrow=10) Y <- cbind(t(M1[ , 10:1]), DelayedArray(m2), M1[6:15, "A", drop=FALSE]) showtree(Y) showtree(Y, show.node.dim=FALSE) nseed(Y) # the tree is not linear Z <- t(Y[10:1, ])[1:15, ] + 0.4 * M1 showtree(Z) nseed(Z) # the tree is not linear ## --------------------------------------------------------------------- ## seedApply() ## --------------------------------------------------------------------- seedApply(Y, class) seedApply(Y, dim)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.