chunkedApply {BGData} | R Documentation |
Applies a Function on Each Row or Column of a File-Backed Matrix
Description
Similar to apply
, but designed for file-backed matrices. The
function brings chunks of an object into physical memory by taking subsets,
and applies a function on either the rows or the columns of the chunks
using an optimized version of apply
. If nCores
is greater
than 1, the function will be applied in parallel using mclapply
. In
that case the subsets of the object are taken on the slaves.
Usage
chunkedApply(X, MARGIN, FUN, i = seq_len(nrow(X)),
j = seq_len(ncol(X)), chunkSize = 5000L,
nCores = getOption("mc.cores", 2L), verbose = FALSE, ...)
Arguments
X |
A file-backed matrix, typically the genotypes of a |
MARGIN |
The subscripts which the function will be applied over. 1 indicates rows, 2 indicates columns. |
FUN |
The function to be applied. |
i |
Indicates which rows of |
j |
Indicates which columns of |
chunkSize |
The number of rows or columns of |
nCores |
The number of cores (passed to |
verbose |
Whether progress updates will be posted. Defaults to |
... |
Additional arguments to be passed to the |
See Also
file-backed-matrices
for more information on file-backed
matrices. multi-level-parallelism
for more information on
multi-level parallelism. BGData-class
for more information on
the BGData
class.
Examples
# Restrict number of cores to 1 on Windows
if (.Platform$OS.type == "windows") {
options(mc.cores = 1)
}
# Load example data
bg <- BGData:::loadExample()
# Compute standard deviation of columns
chunkedApply(X = geno(bg), MARGIN = 2, FUN = sd)