tar_map2 | R Documentation |
Define targets for batched dynamic-within-static branching for data frames. Not a user-side function. Do not invoke directly.
tar_map2()
expects unevaluated language for arguments
name
, command1
, command2
, columns1
, and columns2
.
tar_map2_raw()
expects a character string for name
and an evaluated expression object for each of
command1
, command2
, columns1
, and columns2
.
tar_map2(
name,
command1,
command2,
values = NULL,
names = NULL,
descriptions = tidyselect::everything(),
group = rep(1L, nrow(as.data.frame(!!.x))),
combine = TRUE,
suffix1 = "1",
suffix2 = "2",
columns1 = tidyselect::everything(),
columns2 = tidyselect::everything(),
rep_workers = 1,
delimiter = "_",
tidy_eval = targets::tar_option_get("tidy_eval"),
packages = targets::tar_option_get("packages"),
library = targets::tar_option_get("library"),
format = targets::tar_option_get("format"),
repository = targets::tar_option_get("repository"),
error = targets::tar_option_get("error"),
memory = targets::tar_option_get("memory"),
garbage_collection = targets::tar_option_get("garbage_collection"),
deployment = targets::tar_option_get("deployment"),
priority = targets::tar_option_get("priority"),
resources = targets::tar_option_get("resources"),
storage = targets::tar_option_get("storage"),
retrieval = targets::tar_option_get("retrieval"),
cue = targets::tar_option_get("cue"),
description = targets::tar_option_get("description")
)
tar_map2_raw(
name,
command1,
command2,
values = NULL,
names = NULL,
descriptions = quote(tidyselect::everything()),
group = quote(rep(1L, nrow(as.data.frame(!!.x)))),
combine = TRUE,
columns1 = quote(tidyselect::everything()),
columns2 = quote(tidyselect::everything()),
suffix1 = "1",
suffix2 = "2",
rep_workers = 1,
delimiter = "_",
tidy_eval = targets::tar_option_get("tidy_eval"),
packages = targets::tar_option_get("packages"),
library = targets::tar_option_get("library"),
format = targets::tar_option_get("format"),
repository = targets::tar_option_get("repository"),
error = targets::tar_option_get("error"),
memory = targets::tar_option_get("memory"),
garbage_collection = targets::tar_option_get("garbage_collection"),
deployment = targets::tar_option_get("deployment"),
priority = targets::tar_option_get("priority"),
resources = targets::tar_option_get("resources"),
storage = targets::tar_option_get("storage"),
retrieval = targets::tar_option_get("retrieval"),
cue = targets::tar_option_get("cue"),
description = targets::tar_option_get("description")
)
name |
Base name of the targets.
In regular |
command1 |
R code to create named arguments to In regular |
command2 |
R code to map over the data frame of arguments
produced by In regular |
values |
Named list or data frame with values to iterate over.
The names are the names of symbols in the commands and pattern
statements, and the elements are values that get substituted
in place of those symbols. |
names |
Subset of |
descriptions |
Names of a column in |
combine |
Logical of length 1, whether to statically combine all the results into a single target downstream. |
suffix1 |
Character of length 1,
suffix to apply to the |
suffix2 |
Character of length 1,
suffix to apply to the |
columns1 |
A tidyselect expression to select which columns of In regular |
columns2 |
A tidyselect expression to select which columns of
In regular |
rep_workers |
Positive integer of length 1, number of local R processes to use to run reps within batches in parallel. If 1, then reps are run sequentially within each batch. If greater than 1, then reps within batch are run in parallel using a PSOCK cluster. |
delimiter |
Character of length 1, string to insert between other strings when creating names of targets. |
tidy_eval |
Whether to invoke tidy evaluation
(e.g. the |
packages |
Character vector of packages to load right before
the target runs or the output data is reloaded for
downstream targets. Use |
library |
Character vector of library paths to try
when loading |
format |
Optional storage format for the target's return value.
With the exception of |
repository |
Character of length 1, remote repository for target storage. Choices:
Note: if |
error |
Character of length 1, what to do if the target stops and throws an error. Options:
|
memory |
Character of length 1, memory strategy.
If |
garbage_collection |
Logical, whether to run |
deployment |
Character of length 1. If |
priority |
Numeric of length 1 between 0 and 1. Controls which
targets get deployed first when multiple competing targets are ready
simultaneously. Targets with priorities closer to 1 get dispatched earlier
(and polled earlier in |
resources |
Object returned by |
storage |
Character of length 1, only relevant to
|
retrieval |
Character of length 1, only relevant to
|
cue |
An optional object from |
description |
Character of length 1, a custom free-form human-readable
text description of the target. Descriptions appear as target labels
in functions like |
Static branching creates one pair of targets
for each row in values
. In each pair,
there is an upstream non-dynamic target that runs command1
and a downstream dynamic target that runs command2
.
command1
produces a data frame of arguments to
command2
, and command2
dynamically maps over
these arguments in batches.
A list of new target objects. See the "Target objects" section for background.
In ordinary pipelines, each target has its own unique deterministic
pseudo-random number generator seed derived from its target name.
In batched replicate, however, each batch is a target with multiple
replicate within that batch. That is why tar_rep()
and friends give each replicate its own unique seed.
Each replicate-specific seed is created
based on the dynamic parent target name,
tar_option_get("seed")
(for targets
version 0.13.5.9000 and above),
batch index, and rep-within-batch index.
The seed is set just before the replicate runs.
Replicate-specific seeds are invariant to batching structure.
In other words,
tar_rep(name = x, command = rnorm(1), batches = 100, reps = 1, ...)
produces the same numerical output as
tar_rep(name = x, command = rnorm(1), batches = 10, reps = 10, ...)
(but with different batch names).
Other target factories with this seed scheme are tar_rep2()
,
tar_map_rep()
, tar_map2_count()
, tar_map2_size()
,
and tar_render_rep()
.
For the tar_map2_*()
functions,
it is possible to manually supply your own seeds
through the command1
argument and then invoke them in your
custom code for command2
(set.seed()
, withr::with_seed
,
or withr::local_seed()
). For tar_render_rep()
,
custom seeds can be supplied to the params
argument
and then invoked in the individual R Markdown reports.
Likewise with tar_quarto_rep()
and the execute_params
argument.
Most tarchetypes
functions are target factories,
which means they return target objects
or lists of target objects.
Target objects represent skippable steps of the analysis pipeline
as described at https://books.ropensci.org/targets/.
Please read the walkthrough at
https://books.ropensci.org/targets/walkthrough.html
to understand the role of target objects in analysis pipelines.
For developers, https://wlandau.github.io/targetopia/contributing.html#target-factories explains target factories (functions like this one which generate targets) and the design specification at https://books.ropensci.org/targets-design/ details the structure and composition of target objects.
Other branching:
tar_map2_count()
,
tar_map2_size()
,
tar_map_rep()
,
tar_rep()
,
tar_rep2()
,
tar_rep_map()
,
tar_rep_map_raw()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.