mtd.apply {WGCNA} | R Documentation |
Apply a function to each set in a multiData structure.
Description
Inspired by lapply
, these functions apply a given function to each data
component in
the input multiData
structure, and optionally simplify the result to an array if possible.
Usage
mtd.apply(
# What to do
multiData, FUN, ...,
# Pre-existing results and update options
mdaExistingResults = NULL, mdaUpdateIndex = NULL,
mdaCopyNonData = FALSE,
# Output formatting options
mdaSimplify = FALSE,
returnList = FALSE,
# Internal behaviour options
mdaVerbose = 0, mdaIndent = 0)
mtd.applyToSubset(
# What to do
multiData, FUN, ...,
# Which rows and cols to keep
mdaRowIndex = NULL, mdaColIndex = NULL,
# Pre-existing results and update options
mdaExistingResults = NULL, mdaUpdateIndex = NULL,
mdaCopyNonData = FALSE,
# Output formatting options
mdaSimplify = FALSE,
returnList = FALSE,
# Internal behaviour options
mdaVerbose = 0, mdaIndent = 0)
Arguments
multiData |
A multiData structure to apply the function over |
FUN |
Function to be applied. |
... |
Other arguments to the function |
mdaRowIndex |
If given, must be a list of the same length as |
mdaColIndex |
A logical or numeric vector that specifies columns in each |
mdaExistingResults |
Optional list that contains previously calculated results. This can be useful
if only a few sets in |
mdaUpdateIndex |
Optional specification of which sets in |
mdaCopyNonData |
Logical: should non-data components of |
mdaSimplify |
Logical: should the result be simplified to an array, if possible? Note that this may lead to errors; if so, disable simplification. |
returnList |
Logical: should the result be turned into a list (rather than a multiData structure)?
Note that this is incompatible with simplification: if |
mdaVerbose |
Integer specifying whether progress diagnistics should be printed out. Zero means silent, increasing values will lead to more diagnostic messages. |
mdaIndent |
Integer specifying the indentation of the printed progress messages. Each unit equals two spaces. |
Details
A multiData structure is intended to store (the same type of) data for multiple, possibly independent,
realizations
(for example, expression data for several independent experiments). It is a list where
each component corresponds to an (independent) data set. Each component is in turn a list that can hold
various types of information but must have a data
component. In a "strict" multiData structure, the
data
components are required to each be a matrix or a data frame and have the same number of
columns. In a "loose" multiData structure, the data
components can be anything (but for most
purposes should be of comparable type and content).
mtd.apply
works on any "loose" multiData structure; mtd.applyToSubset
assumes (and checks
for) a "strict" multiData structure.
Value
A multiData structure containing the results of the supplied function on each data
component in the
input multiData structure. Other components are simply copied.
Author(s)
Peter Langfelder
See Also
multiData
to create a multiData structure;
mtd.applyToSubset
for applying a function to a subset of a multiData structure;
mtd.mapply
for vectorizing over several arguments.