The tar_script()
function is a convenient
way to create the required target script file (default: _targets.R
)
in the current working directory.
It always overwrites the existing target script,
and it requires you to be in the working directory
where you intend to write the file, so be careful.
See the "Target script" section for details.
Usage
tar_script(
code = NULL,
library_targets = TRUE,
ask = NULL,
script = targets::tar_config_get("script")
)
Arguments
- code
R code to write to the target script file. If
NULL
, an example target script file is written instead.- library_targets
logical, whether to write a
library(targets)
line at the top of the target script file automatically (recommended). IfTRUE
, you do not need to explicitly putlibrary(targets)
incode
.- ask
Logical, whether to ask before writing if the target script file already exists. If
NULL
, defaults toSys.getenv("TAR_ASK")
. (Set to"true"
or"false"
withSys.setenv()
). Ifask
and theTAR_ASK
environment variable are both indeterminate, defaults tointeractive()
.- script
Character of length 1, where to write the target script file. Defaults to
tar_config_get("script")
, which in turn defaults to_targets.R
.
Target script file
Every targets
project requires a target script file.
The target script file is usually a file called _targets.R
Functions tar_make()
and friends look for the target script
and run it to set up the pipeline just prior to the main task.
Every target script file should run the following
steps in the order below:
Package: load the
targets
package. This step is automatically inserted at the top of the target script file produced bytar_script()
iflibrary_targets
isTRUE
, so you do not need to explicitly include it incode
.Globals: load custom functions and global objects into memory. Usually, this section is a bunch of calls to
source()
that run scripts defining user-defined functions. These functions support the R commands of the targets.Options: call
tar_option_set()
to set defaults for targets-specific settings such as the names of required packages. Even if you have no specific options to set, it is still recommended to calltar_option_set()
in order to register the proper environment.Targets: define one or more target objects using
tar_target()
.Pipeline: call
list()
to aggregate the targets from (4) into a list. Every target script file must return a pipeline object, which usually means ending with a call tolist()
. In practice, (4) and (5) can be combined together in the same function call.
See also
Other scripts:
tar_edit()
,
tar_github_actions()
,
tar_helper()
,
tar_renv()
Examples
tar_dir({ # tar_dir() runs code from a temp dir for CRAN.
tar_script() # Writes an example target script file.
# Writes a user-defined target script:
tar_script({
library(targets)
library(tarchetypes)
x <- tar_target(x, 1 + 1)
tar_option_set()
list(x)
}, ask = FALSE)
writeLines(readLines("_targets.R"))
})
#> library(targets)
#> library(targets)
#> library(tarchetypes)
#> x <- tar_target(x, 1 + 1)
#> tar_option_set()
#> list(x)