pbmcmapply | R Documentation |
pbmcmapply
is a wrapper around the mcmapply
function. It adds a progress bar to mcmapply
function.
Parallelization (mc.core > 1) works only on *nix (Linux, Unix such as macOS) system due to the lack of fork()
functionality, which is essential for mcapply, on Windows.
pbmcmapply(FUN, ..., MoreArgs = NULL, mc.style = "ETA", mc.substyle = NA, mc.cores = getOption("mc.cores", 2L), ignore.interactive = getOption("ignore.interactive", F), mc.preschedule = TRUE, mc.set.seed = TRUE, mc.cleanup = TRUE)
FUN |
the function to be applied in parallel to ... |
... |
arguments to vectorize over (vectors or lists of strictly positive length, or all of zero length). |
MoreArgs |
a list of other arguments to FUN. |
mc.cores |
see |
mc.style, mc.substyle |
style of the progress bar. See |
ignore.interactive |
whether the |
mc.preschedule, mc.set.seed, mc.cleanup |
See |
# A lazy sqrt function which doesn't care about efficiency lazySqrt <- function(num) { # Sleep randomly between 0 to 0.5 second Sys.sleep(runif(1, 0, 0.5)) return(sqrt(num)) } # On Windows, set cores to be 1 if (.Platform$OS.type == "windows") { cores = 1 } else { cores = 2 } # A lazy and chatty sqrt function. # An example of passing arguments to pbmcmapply. lazyChattySqrt <- function(num, name) { # Sleep randomly between 0 to 0.5 second Sys.sleep(runif(1, 0, 0.5)) return(sprintf("Hello %s, the sqrt of %f is %f.", toString(name), num, sqrt(num))) } # Get the sqrt of 1-3 in parallel result <- pbmcmapply(lazySqrt, 1:3, mc.cores = cores) chattyResult <- pbmcmapply(lazyChattySqrt, 1:3, MoreArgs = list("Bob"), mc.cores = cores)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.