DelayedOp-class | R Documentation |
NOTE: This man page is about DelayedArray internals and is provided for developers and advanced users only.
In a DelayedArray object, the delayed operations are stored as a tree where the leaves are operands and the nodes are the operations. Each node in the tree is a DelayedOp derivative representing a particular delayed operation.
DelayedOp is a virtual class with 8 concrete subclasses. Each subclass provides a formal representation for a particular kind of delayed operation.
is_noop(x)
x |
A DelayedSubset, DelayedAperm, or DelayedSetDimnames object. |
8 types of nodes are currently supported. Each type is a DelayedOp subclass:
Node type Represented operation ------------------------------------------------------------------ DelayedOp (VIRTUAL) ------------------------------------------------------------------ * DelayedUnaryOp (VIRTUAL) o DelayedSubset Multi-dimensional single bracket subsetting. o DelayedAperm Extended aperm() (can drop and/or add ineffective dimensions). o DelayedUnaryIsoOp (VIRTUAL) Unary op that preserves the geometry. - DelayedUnaryIsoOpStack Simple ops stacked together. - DelayedUnaryIsoOpWithArgs One op with vector-like arguments along the dimensions of the input. - DelayedSubassign Multi-dimensional single bracket subassignment. - DelayedSetDimnames Set/replace the dimnames. ------------------------------------------------------------------ * DelayedNaryOp (VIRTUAL) o DelayedNaryIsoOp N-ary op that preserves the geometry. o DelayedAbind abind() ------------------------------------------------------------------
All DelayedOp objects must comply with the seed contract i.e. they
must support dim()
, dimnames()
, and extract_array()
.
See ?extract_array
in the S4Arrays package
for more information about the seed contract.
This makes them de facto array-like objects. However, end users will never
interact with them directly, except for the root of the tree which is the
DelayedArray object itself and the only node in the tree that they are able
to see and touch.
is_noop()
can only be called on a DelayedSubset, DelayedAperm,
or DelayedSetDimnames object at the moment, and will return TRUE
if the object represents a no-op.
The DelayedOp virtual class and its 8 concrete subclasses are used inside a DelayedArray object to represent delayed operations carried by the object. They're never exposed to the end user and are not intended to be manipulated directly.
DelayedOp concrete subclasses: DelayedSubset, DelayedAperm, DelayedUnaryIsoOpStack, DelayedUnaryIsoOpWithArgs, DelayedSubassign, DelayedSetDimnames, DelayedNaryIsoOp, and DelayedAbind.
DelayedArray objects.
showtree
to visualize the nodes and access the
leaves in the tree of delayed operations carried by a
DelayedArray object.
simplify
to simplify the tree of delayed
operations carried by a DelayedArray object.
extract_array
in the S4Arrays package.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.