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 3 4 5 6 7 | 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.