Description Usage Arguments Details Value Author(s) Examples
View source: R/doCallParallel.R
Call a function with a vectorized input in parallel, where the function is computationally intensive.
1 2 | doCallParallel(fun, x, ..., njobs = parallel::detectCores() - 1,
random.seed = NULL)
|
fun |
A function, or a text string with the name of the function, whose first argument is a vector and returns a corresponding vector |
x |
A vector of values that is the first argument to |
... |
Additional named arguments for |
njobs |
The number of parallel jobs to spawn using |
random.seed |
If a numeric value is provided, |
This function is a parallelized wrapper for do.call
designed for the case where fun
is
computationally intensive. Each element of x
is evaluated
independently of the other elements of x
. Thus, fun(c(x1,x2))
must be equivalent
to c(fun(x1), fun(x2))
in order for doCallParallel
to work properly.
The same result that would be had by calling fun(x, ...)
, except calculated in parallel
Landon Sego
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # Get a vector of x's
x <- rnorm(18, mean = 2, sd = 2)
# 2 cores
y1 <- doCallParallel("pnorm", x, mean = 2, sd = 2, njobs = 2)
# 2 cores and randomization
y2 <- doCallParallel(pnorm, x, mean = 2, sd = 2, njobs = 2, random.seed = 1)
# Without using doCallParallel()
y3 <- pnorm(x, mean = 2, sd = 2)
# Comparisons
identical(y1, y2)
identical(y1, y3)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.