lapply_async2 {dipsaus} | R Documentation |
Apply, but in parallel
Description
Apply, but in parallel
Usage
lapply_async2(
x,
FUN,
FUN.args = list(),
callback = NULL,
plan = TRUE,
future.chunk.size = NULL,
future.seed = sample.int(1, n = 1e+05 - 1),
...
)
Arguments
x |
vector, list |
FUN |
function to apply on each element of |
FUN.args |
more arguments to feed into |
callback |
function to run after each iteration |
plan |
logical, or character or |
future.chunk.size , future.seed |
see also |
... |
passed to |
Details
When plan
is logical, FALSE
means use current plan.
If plan=TRUE
, then it equals to plan='multicore'
. For
characters, plan
can be 'multicore'
, 'callr'
,
'sequential'
, 'multisession'
, 'multiprocess'
,
etc. Alternatively, you could pass future plan
objects.
Value
same as
with(FUN.args, lapply(x, function(el){eval(body(FUN))}))
See Also
Examples
library(future)
plan(sequential)
# Use sequential plan
# 1. Change `plan` to 'multicore', 'multisession', or TRUE to enable
# multi-core, but still with progress information
# 2. Change plan=FALSE will use current future plan
res <- lapply_async2(100:200, function(x){
return(x+1)
}, callback = function(e){
sprintf('Input=%d', e)
}, plan = 'sequential')
# Disable callback message, then the function reduce to
# normal `future.apply::future_lapply`
res <- lapply_async2(100:200, function(x){
return(x+1)
}, callback = NULL, plan = FALSE)
if(interactive()) {
# PID are different, meaning executing in different sessions
lapply_async2(1:4, function(x){
Sys.getpid()
})
}
[Package dipsaus version 0.2.9 Index]