# Functional Programming Tools

## Documentation for package ‘purrr’ version 1.2.2

- DESCRIPTION file.
- User guides, package vignettes and other documentation.
- Package NEWS.

## Help Pages

accumulate | Accumulate intermediate results of a vector reduction
accumulate2 | Accumulate intermediate results of a vector reduction
array-coercion | Coerce array to list
array_branch | Coerce array to list
array_tree | Coerce array to list
assign_in | Modify a pluck location
as_mapper | Convert an object into a mapper function
as_mapper.character | Convert an object into a mapper function
as_mapper.list | Convert an object into a mapper function
as_mapper.numeric | Convert an object into a mapper function
attr_getter | Create an attribute getter function
auto_browse | Wrap a function so it will automatically 'browse()' on error
chuck | Get an element deep within a nested data structure, failing if it doesn't exist
compact | Keep/discard elements based on their values
compose | Compose multiple functions together to create a new function
detect | Find the value or position of the first match
detect_index | Find the value or position of the first match
discard | Keep/discard elements based on their values
discard_at | Keep/discard elements based on their name/position
every | Do every, some, or none of the elements of a list satisfy a predicate?
has_element | Does a list contain an object?
head_while | Find head/tail that all satisfies a predicate.
imap | Apply a function to each element of a vector, and its index
imap_chr | Apply a function to each element of a vector, and its index
imap_dbl | Apply a function to each element of a vector, and its index
imap_int | Apply a function to each element of a vector, and its index
imap_lgl | Apply a function to each element of a vector, and its index
imap_vec | Apply a function to each element of a vector, and its index
imodify | Modify elements selectively
insistently | Transform a function to wait then retry after an error
in_parallel | Parallelization in purrr
is_rate | Create delaying rate settings
iwalk | Apply a function to each element of a vector, and its index
keep | Keep/discard elements based on their values
keep_at | Keep/discard elements based on their name/position
list_assign | Modify a list
list_c | Combine list elements into a single data structure
list_cbind | Combine list elements into a single data structure
list_flatten | Flatten a list
list_merge | Modify a list
list_modify | Modify a list
list_rbind | Combine list elements into a single data structure
list_simplify | Simplify a list to an atomic or S3 vector
list_transpose | Transpose a list
lmap | Apply a function to list-elements of a list
lmap_at | Apply a function to list-elements of a list
lmap_if | Apply a function to list-elements of a list
map | Apply a function to each element of a vector
map2 | Map over two inputs
map2_chr | Map over two inputs
map2_dbl | Map over two inputs
map2_int | Map over two inputs
map2_lgl | Map over two inputs
map2_vec | Map over two inputs
map_at | Apply a function to each element of a vector conditionally
map_chr | Apply a function to each element of a vector
map_dbl | Apply a function to each element of a vector
map_depth | Map/modify elements at given depth
map_if | Apply a function to each element of a vector conditionally
map_int | Apply a function to each element of a vector
map_lgl | Apply a function to each element of a vector
map_vec | Apply a function to each element of a vector
modify | Modify elements selectively
modify2 | Modify elements selectively
modify_at | Modify elements selectively
modify_depth | Map/modify elements at given depth
modify_if | Modify elements selectively
modify_in | Modify a pluck location
modify_tree | Recursively modify a list
negate | Negate a predicate function so it selects what it previously rejected
none | Do every, some, or none of the elements of a list satisfy a predicate?
parallelization | Parallelization in purrr
partial | Partially apply a function, filling in some arguments
pluck | Safely get or set an element deep within a nested data structure
pluck<- | Safely get or set an element deep within a nested data structure
pluck_depth | Compute the depth of a vector
pluck_exists | Safely get or set an element deep within a nested data structure
pmap | Map over multiple input simultaneously (in "parallel")
pmap_chr | Map over multiple input simultaneously (in "parallel")
pmap_dbl | Map over multiple input simultaneously (in "parallel")
pmap_int | Map over multiple input simultaneously (in "parallel")
pmap_lgl | Map over multiple input simultaneously (in "parallel")
pmap_vec | Map over multiple input simultaneously (in "parallel")
possibly | Wrap a function to return a value instead of an error
progress_bars | Progress bars in purrr
pwalk | Map over multiple input simultaneously (in "parallel")
quietly | Wrap a function to capture side-effects
rate-helpers | Create delaying rate settings
rate_backoff | Create delaying rate settings
rate_delay | Create delaying rate settings
reduce | Reduce a list to a single value by iteratively applying a binary function
reduce2 | Reduce a list to a single value by iteratively applying a binary function
safely | Wrap a function to capture errors
slowly | Wrap a function to wait between executions
some | Do every, some, or none of the elements of a list satisfy a predicate?
tail_while | Find head/tail that all satisfies a predicate.
vec_depth | Compute the depth of a vector
walk | Apply a function to each element of a vector
walk2 | Map over two inputs