map2

0th

Percentile

Map over multiple inputs simultaneously.

These functions are variants of map() iterate over multiple arguments in parallel. map2 is specialised for the two argument case; pmap allows you to provide any number of arguments in a list.

Usage
map2(.x, .y, .f, ...)
map2_lgl(.x, .y, .f, ...)
map2_int(.x, .y, .f, ...)
map2_dbl(.x, .y, .f, ...)
map2_chr(.x, .y, .f, ...)
map2_df(.x, .y, .f, ..., .id = NULL)
pmap(.l, .f, ...)
pmap_lgl(.l, .f, ...)
pmap_int(.l, .f, ...)
pmap_dbl(.l, .f, ...)
pmap_chr(.l, .f, ...)
pmap_df(.l, .f, ..., .id = NULL)
walk2(.x, .y, .f, ...)
pwalk(.l, .f, ...)
Arguments
.x, .y
Vectors of the same length. A vector of length 1 will be recycled.
.f
A function, formula, or atomic vector.

If a function, it is used as is.

If a formula, e.g. ~ .x + 2, it is converted to a function with two arguments, .x or . and .y. This allows you to create very compact anonymous functions with up to two inputs.

If character or integer vector, e.g. "y", it is converted to an extractor function, function(x) x[["y"]]. To index deeply into a nested list, use multiple values; c("x", "y") is equivalent to z[["x"]][["y"]]. You can also set .null to set a default to use instead of NULL for absent components.

...
Additional arguments passed on to .f.
.id
If not NULL a variable with this name will be created giving either the name or the index of the data frame.
.l
A list of lists. The length of .l determines the number of arguments that .f will be called with. List names will be used if present.
Details

Note that arguments to be vectorised over come before the .f, and arguments that are supplied to every call come after .f.

pmap() and pwalk() take a single list .l and map over all its elements in parallel.

Value

An atomic vector, list, or data frame, depending on the suffix. Atomic vectors and lists will be named if .x or the first element of .l is named.

Aliases
  • map2
  • map2_chr
  • map2_dbl
  • map2_df
  • map2_int
  • map2_lgl
  • map3
  • map_n
  • pmap
  • pmap_chr
  • pmap_dbl
  • pmap_df
  • pmap_int
  • pmap_lgl
  • pwalk
  • walk2
  • walk3
  • walk_n
Examples
library(purrr) x <- list(1, 10, 100) y <- list(1, 2, 3) map2(x, y, ~ .x + .y) # Or just map2(x, y, `+`) # Split into pieces, fit model to each piece, then predict by_cyl <- mtcars %>% split(.$cyl) mods <- by_cyl %>% map(~ lm(mpg ~ wt, data = .)) map2(mods, by_cyl, predict)
Documentation reproduced from package purrr, version 0.2.2, License: GPL-3 | file LICENSE

Community examples

Looks like there are no examples yet.