Description Usage Arguments Details Value Examples
map_safely()
, map_quietly()
and map_peacefully()
are variants of
purrr::map()
that wrap the supplied function .f
using purrr::safely()
and/or purrr::quietly()
in order to capture various side effects. Lists
mapped in this way have an associated class added to them, allowing them to
succinctly summarise captured side effects when displayed in a tibble.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | map_safely(.x, .f, otherwise = NULL, quiet = TRUE, ...)
map_quietly(.x, .f, ...)
map_peacefully(.x, .f, ...)
map2_safely(.x, .y, .f, otherwise = NULL, quiet = TRUE, ...)
map2_quietly(.x, .y, .f, ...)
map2_peacefully(.x, .y, .f, ...)
pmap_safely(.l, .f, otherwise = NULL, quiet = TRUE, ...)
pmap_quietly(.l, .f, ...)
pmap_peacefully(.l, .f, ...)
future_map_safely(.x, .f, otherwise = NULL, quiet = TRUE, ...)
future_map_quietly(.x, .f, ...)
future_map_peacefully(.x, .f, ...)
future_map2_safely(.x, .y, .f, otherwise = NULL, quiet = TRUE, ...)
future_map2_quietly(.x, .y, .f, ...)
future_map2_peacefully(.x, .y, .f, ...)
future_pmap_safely(.l, .f, otherwise = NULL, quiet = TRUE, ...)
future_pmap_quietly(.l, .f, ...)
future_pmap_peacefully(.l, .f, ...)
|
.x |
A list or atomic vector. |
.f |
A function, formula or atomic vector, as specified by
|
otherwise |
Default value to use when an error occurs. |
quiet |
Hide errors ( |
... |
Other arguments supplied to |
.y |
A list or atomic vector, of the same length as |
.l |
A list of lists. The length of |
map_safely()
will summarise the returned list with a fixed-width
string of two (spaced) columns:
If a result
component is present, R
appears, and
If an error
component is present, E
appears.
If either component is missing, an underscore (_
) appears in its
place.
Similarly, map_quietly()
will summarise the returned list with a
fixed-width string of four (spaced) columns:
If a result
component is present, R
appears,
If an output
component is present, O
appears,
If a messages
component is present, M
appears, and
If a warnings
component is present, W
appears.
If any is missing, an underscore (_
) appears in its
place.
Variants for iterating over two or more inputs simultaneously
are also provided and function identically to their purrr
counterparts:
map2_safely()
map2_quietly()
pmap_safely()
pmap_quietly()
Further variants, prefixed by future_
, allow safe or quiet mapping to
happen in parallel if you have the furrr
package installed:
future_map_safely()
future_map_quietly()
future_map2_safely()
future_map2_quietly()
future_pmap_safely()
future_pmap_quietly()
A list of the same length as .x
. Each element of the returned list
is itself a named list, structured according to the captured side effects.
The Details section elaborates on these side effects.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | library(tibble)
library(dplyr)
library(tidyr)
library(collateral)
# like map(), these can be used to iterate over vectors or lists
list("a", 10, 100) %>% map_safely(log)
list(5, -12, 103) %>% map_quietly(log)
# if you're using tibbles, you can also iterate over list-columns,
# such as nested data frames
mtcars %>%
rownames_to_column(var = "car") %>%
as_tibble() %>%
select(car, cyl, disp, wt) %>%
# spike some rows in cyl == 4 to make them fail
mutate(wt = dplyr::case_when(
wt < 2 ~ -wt,
TRUE ~ wt)) %>%
# nest and do some operations quietly()
nest(data = -cyl) %>%
mutate(qlog = map_quietly(data, ~ log(.$wt)))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.