fmap: Functional mapping with optional parallelism and progress...

View source: R/fmap.R

fmapR Documentation

Functional mapping with optional parallelism and progress bars

Description

Applies a function '.f' to each element of '.x', with optional parallel processing and progress bar support. Progress behavior is inherited from 'fapply()', including completion-driven updates in the parallel execution paths, bounded redraw frequency for large workloads, and elapsed/ETA status reporting.

Usage

fmap(.x, .f, ncores = NULL, pb = FALSE, ...)

Arguments

.x

A list or atomic vector of elements to iterate over.

.f

A function to apply to each element of '.x'. Can be a function or a string naming a function.

ncores

Integer. Number of CPU cores to use for parallel processing. Default is 'NULL' (sequential).

pb

Logical. Whether to show a progress bar. Default is 'FALSE'. In parallel mode, progress updates as each completed task returns.

...

Additional arguments passed to '.f'.

Value

A list of results, one for each element of '.x'.

Examples

slow_fn <- function(x) { Sys.sleep(0.01); x^2 }
x <- 1:100

# Basic usage
fmap(x, slow_fn)

# With progress bar
fmap(x, slow_fn, pb = TRUE)

# With parallel execution (non-Windows)

if (.Platform$OS.type != "windows") {
  fmap(x, slow_fn, ncores = 2, pb = TRUE)
}



functionals documentation built on Aug. 22, 2026, 9:07 a.m.