tar_cue_skip {tarchetypes} | R Documentation |
Cue to skip a target if a condition is true
Description
tar_cue_skip()
creates a cue object to
skip a target if an arbitrary condition evaluates to TRUE
.
The target still builds if it was never built before.
Supply the returned cue object to the cue
argument of
targets::tar_target()
or similar.
Usage
tar_cue_skip(
condition,
command = TRUE,
depend = TRUE,
format = TRUE,
repository = TRUE,
iteration = TRUE,
file = TRUE
)
Arguments
condition |
Logical vector evaluated locally when the target is
defined. If any element of |
command |
Logical, whether to rerun the target if command changed since last time. |
depend |
Logical, whether to rerun the target if the value of one of the dependencies changed. |
format |
Logical, whether to rerun the target if the user-specified
storage format changed. The storage format is user-specified through
|
repository |
Logical, whether to rerun the target if the user-specified
storage repository changed. The storage repository is user-specified
through |
iteration |
Logical, whether to rerun the target if the user-specified
iteration method changed. The iteration method is user-specified through
|
file |
Logical, whether to rerun the target if the file(s) with the return value changed or at least one is missing. |
Value
A cue object. See the "Cue objects" section for background.
Cue objects
A cue object is an object generated by targets::tar_cue()
,
tarchetypes::tar_cue_force()
, or similar. It is
a collection of decision rules that decide when a target
is invalidated/outdated (e.g. when tar_make()
or similar
reruns the target). You can supply these cue objects to the
tar_target()
function or similar. For example,
tar_target(x, run_stuff(), cue = tar_cue(mode = "always"))
is a target that always calls run_stuff()
during tar_make()
and always shows as invalidated/outdated in tar_outdated()
,
tar_visnetwork()
, and similar functions.
See Also
Other cues:
tar_age()
,
tar_cue_age()
,
tar_cue_age_raw()
,
tar_cue_force()
Examples
if (identical(Sys.getenv("TAR_LONG_EXAMPLES"), "true")) {
targets::tar_dir({ # tar_dir() runs code from a temporary directory.
targets::tar_script({
library(tarchetypes)
list(
targets::tar_target(
data,
data.frame(x = seq_len(26)),
cue = tarchetypes::tar_cue_skip(1 > 0)
)
)
})
targets::tar_make()
targets::tar_script({
library(tarchetypes)
list(
targets::tar_target(
data,
data.frame(x = seq_len(25)), # Change the command.
cue = tarchetypes::tar_cue_skip(1 > 0)
)
)
})
targets::tar_make()
targets::tar_make()
})
}