purrr: Functional Programming Tools

Make your pure functions purr with the 'purrr' package. This package completes R's functional programming tools with missing features present in other programming languages.

Install the latest version of this package by entering the following in R:
AuthorHadley Wickham [aut, cre], Lionel Henry [ctb], RStudio [cph]
Date of publication2016-06-18 10:05:18
MaintainerHadley Wickham <hadley@rstudio.com>
LicenseGPL-3 | file LICENSE

View on CRAN

Man pages

accumulate: Accumulate recursive folds across a list

along: Helper to create vectors with matching length.

array-coercion: Coerce array to list

as_function: Convert an object into a function.

as_vector: Coerce a list to a vector

at_depth: Map a function over lower levels of a nested list

bare-type-predicates: Bare type predicates

by_row: Apply a function to each row of a data frame

by_slice: Apply a function to slices of a data frame

compose: Compose multiple functions

conditional-map: Modify elements conditionally

contains: Does a list contain an object?

cross_n: Produce all combinations of list elements

detect: Find the value or position of the first match.

dmap: Map over the columns of a data frame

every: Do every or some elements of a list satisfy a predicate?

flatmap: Map a function and flatten the result by one-level

flatten: Flatten a list of lists into a simple vector.

get-attr: Infix attribute accessor

head_while: Find head/tail that all satisfies a predicate.

invoke: Invoke functions.

is_empty: Is a vector/list empty?

is_formula: Is a formula?

keep: Keep or discard elements using a predicate function.

lift: Lift the domain of a function

lmap: Apply a function to list-elements of a list

map: Apply a function to each element of a vector

map2: Map over multiple inputs simultaneously.

negate: Negate a predicate function.

null-default: Default value for 'NULL'.

partial: Partial apply a function, filling in some arguments.

pipe: Pipe operator

prepend: Prepend a vector

rbernoulli: Generate random samples from a Bernoulli distribution

rdunif: Generate random samples from a discrete uniform distribution

reduce: Reduce a list to a single value by iteratively applying a...

rerun: Re-run expressions multiple times.

safely: Capture side effects.

scalar-type-predicates: Scalar type predicates

set_names: Set names in a vector

slice_rows: Slice a data frame into groups of rows

splice: Splice objects and lists of objects into a list

split_by: Split, order and sort lists by their components.

transpose: Transpose a list.

type-predicates: Type predicates

update_list: Modify a list

when: Match/validate a set of conditions for an object and continue...


\%>\% Man page
\%||\% Man page
\%@\% Man page
accumulate Man page
accumulate_right Man page
along Man page
array_branch Man page
array-coercion Man page
array_tree Man page
as_function Man page
as_function.character Man page
as_vector Man page
at_depth Man page
bare-type-predicates Man page
by_row Man page
by_slice Man page
compact Man page
compose Man page
conditional-map Man page
contains Man page
cross2 Man page
cross3 Man page
cross_d Man page
cross_n Man page
detect Man page
detect_index Man page
discard Man page
dmap Man page
dmap_at Man page
dmap_if Man page
every Man page
flatmap Man page
flatten Man page
flatten_chr Man page
flatten_dbl Man page
flatten_df Man page
flatten_int Man page
flatten_lgl Man page
get-attr Man page
head_while Man page
invoke Man page
invoke_map Man page
invoke_map_chr Man page
invoke_map_dbl Man page
invoke_map_df Man page
invoke_map_int Man page
invoke_map_lgl Man page
invoke_rows Man page
is_atomic Man page
is_bare_atomic Man page
is_bare_character Man page
is_bare_double Man page
is_bare_integer Man page
is_bare_list Man page
is_bare_logical Man page
is_bare_numeric Man page
is_bare_vector Man page
is_character Man page
is_double Man page
is_empty Man page
is_formula Man page
is_function Man page
is_integer Man page
is_list Man page
is_logical Man page
is_null Man page
is_numeric Man page
is_scalar_atomic Man page
is_scalar_character Man page
is_scalar_double Man page
is_scalar_integer Man page
is_scalar_list Man page
is_scalar_logical Man page
is_scalar_numeric Man page
is_scalar_vector Man page
is_vector Man page
keep Man page
lift Man page
lift_dl Man page
lift_dv Man page
lift_ld Man page
lift_lv Man page
lift_vd Man page
lift_vl Man page
list_along Man page
lmap Man page
lmap_at Man page
lmap_if Man page
map Man page
map2 Man page
map2_chr Man page
map2_dbl Man page
map2_df Man page
map2_int Man page
map2_lgl Man page
map3 Man page
map_at Man page
map_call Man page
map_chr Man page
map_dbl Man page
map_df Man page
map_if Man page
map_int Man page
map_lgl Man page
map_n Man page
map_rows Man page
negate Man page
null-default Man page
order_by Man page
partial Man page
pmap Man page
pmap_chr Man page
pmap_dbl Man page
pmap_df Man page
pmap_int Man page
pmap_lgl Man page
possibly Man page
prepend Man page
pwalk Man page
quietly Man page
rbernoulli Man page
rdunif Man page
reduce Man page
reduce_right Man page
rep_along Man page
rerun Man page
safely Man page
scalar-type-predicates Man page
set_names Man page
simplify Man page
simplify_all Man page
slice_rows Man page
some Man page
sort_by Man page
splice Man page
split_by Man page
tail_while Man page
transpose Man page
type-predicates Man page
unslice Man page
update_list Man page
walk Man page
walk2 Man page
walk3 Man page
walk_n Man page
when Man page
zip2 Man page
zip3 Man page
zip_n Man page


tests/testthat/test-objects.R tests/testthat/test-output.R tests/testthat/test-predicates.R tests/testthat/test-cross.R tests/testthat/test-partial.R tests/testthat/test-map_n.R tests/testthat/test-invoke.R tests/testthat/test-recycle_args.R tests/testthat/test-reduce.R tests/testthat/test-as-function.R tests/testthat/test-when.R tests/testthat/test-dmap.R tests/testthat/test-update-list.R tests/testthat/test-rows.R tests/testthat/test-simplify.R tests/testthat/test-rerun.R tests/testthat/test-transpose.R tests/testthat/test-map2.R tests/testthat/test-flatten.R tests/testthat/test-map.R
R/along.R R/rerun.R R/utils.R R/map-vector.R R/at-depth.R R/dmap.R R/output.R R/reduce.R R/find-position.R R/head-tail.R R/split_by.R R/invoke.R R/arrays.R R/flatten.R R/cross.R R/map.R R/partial.R R/objects.R R/composition.R R/when.R R/keep.R R/coercion.R R/rows.R R/compose.R R/set_names.R R/negate.R R/every-some.R R/transpose.R R/lmap.R
man/pipe.Rd man/compose.Rd man/negate.Rd man/rdunif.Rd man/rerun.Rd man/keep.Rd man/map.Rd man/splice.Rd man/detect.Rd man/set_names.Rd man/prepend.Rd man/slice_rows.Rd man/safely.Rd man/null-default.Rd man/at_depth.Rd man/update_list.Rd man/partial.Rd man/by_row.Rd man/transpose.Rd man/along.Rd man/cross_n.Rd man/invoke.Rd man/by_slice.Rd man/is_empty.Rd man/flatten.Rd man/split_by.Rd man/lmap.Rd man/rbernoulli.Rd man/every.Rd man/head_while.Rd man/bare-type-predicates.Rd man/when.Rd man/map2.Rd man/accumulate.Rd man/dmap.Rd man/lift.Rd man/array-coercion.Rd man/as_function.Rd man/type-predicates.Rd man/is_formula.Rd man/contains.Rd man/as_vector.Rd man/conditional-map.Rd man/reduce.Rd man/get-attr.Rd man/flatmap.Rd man/scalar-type-predicates.Rd

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.