R: Synchronous Apply Functions

btlapply {batchtools} | R Documentation

## Synchronous Apply Functions

### Description

This is a set of functions acting as counterparts to the sequential popular apply functions in base R: `btlapply` for `lapply` and `btmapply` for `mapply`.

Internally, jobs are created using `batchMap` on the provided registry. If no registry is provided, a temporary registry (see argument `file.dir` of `makeRegistry`) and `batchMap` will be used. After all jobs are terminated (see `waitForJobs`), the results are collected and returned as a list.

Note that these functions are one suitable for short and fail-safe operations on batch system. If some jobs fail, you have to retrieve partial results from the registry directory yourself.

### Usage

    btlapply(X, fun, ..., resources = list(), n.chunks = NULL,
      chunk.size = NULL, reg = makeRegistry(file.dir = NA))

    btmapply(fun, ..., more.args = list(), simplify = FALSE,
      use.names = TRUE, resources = list(), n.chunks = NULL,
      chunk.size = NULL, reg = makeRegistry(file.dir = NA))

### Arguments

`X` | [`vector`] Vector to apply over.
`fun` | [`function`] Function to apply.
`...` | [`ANY`] Additional arguments passed to `fun` (`btlapply`) or vectors to map over (`btmapply`).
`resources` | [`named list`] Computational resources for the jobs to submit. The actual elements of this list (e.g. something like “walltime” or “nodes”) depend on your template file, exceptions are outlined in the section 'Resources'. Default settings for a system can be set in the configuration file by defining the named list `default.resources`. Note that these settings are merged by name, e.g. merging `list(walltime = 300)` into `list(walltime = 400, memory = 512)` will result in `list(walltime = 300, memory = 512)`. Same holds for individual job resources passed as additional column of `ids` (c.f. section 'Resources').
`n.chunks` | [`integer(1)`] Passed to `chunk` before `submitJobs`.
`chunk.size` | [`integer(1)`] Passed to `chunk` before `submitJobs`.
`reg` | [`Registry`] Registry. If not explicitly passed, uses the default registry (see `setDefaultRegistry`).
`more.args` | [`list`] Additional arguments passed to `fun`.
`simplify` | [`logical(1)`] Simplify the results using `simplify2array`?
`use.names` | [`logical(1)`] Use names of the input to name the output?

### Value

[`list`] List with the results of the function call.

### Examples

    btlapply(1:3, function(x) x^2)
    btmapply(function(x, y, z) x + y + z, x = 1:3, y = 1:3, more.args = list(z = 1), simplify = TRUE)

[Package batchtools version 0.9.11 Index]