Make targets out of dependencies using a recipe
make_with_recipe(
recipe,
targets,
dependencies = NULL,
packages = NULL,
envir = new.env(parent = parent.frame()),
quiet = getOption("makepipe.quiet"),
force = FALSE,
label = NULL,
note = NULL,
...
)
A chunk of R code which makes the targets
A character vector of paths to files
A character vector of paths to files which the targets
depend on
A character vector of names of packages which targets
depend on
The environment in which to execute the source
or recipe
. By
default, execution will take place in a fresh environment whose parent is
the calling environment.
A logical determining whether or not messages are signaled
A logical determining whether or not execution of the source
or recipe
will be forced (i.e. happen whether or not the targets are
out-of-date)
A short label for the source
or recipe
, displayed in pipeline
visualisations. If NULL
, the basename(source)
or 'Recipe' will be used.
A description of what the recipe
does, displayed in pipeline
visualisations. If NULL
, the recipe
code is used.
Additional parameters to pass to base::eval()
A Segment
object containing execution metadata.
Other make:
make_with_dir()
,
make_with_source()
if (FALSE) {
# Merge files in fresh environment if raw data has been updated since last
# merged
make_with_recipe(
recipe = {
dat <- readRDS("data/raw_data.Rds")
pop <- readRDS("data/pop_data.Rds")
merged_dat <- merge(dat, pop, by = "id")
saveRDS(merged_dat, "data/merged_data.Rds")
},
targets = "data/merged_data.Rds",
dependencies = c("data/raw_data.Rds", "data/raw_pop.Rds")
)
# Merge files in current environment if raw data has been updated since last
# merged. (If recipe executed, all objects bound in source will be available
# in current env).
make_with_recipe(
recipe = {
dat <- readRDS("data/raw_data.Rds")
pop <- readRDS("data/pop_data.Rds")
merged_dat <- merge(dat, pop, by = "id")
saveRDS(merged_dat, "data/merged_data.Rds")
},
targets = "data/merged_data.Rds",
dependencies = c("data/raw_data.Rds", "data/raw_pop.Rds"),
envir = environment()
)
# Merge files in global environment if raw data has been updated since last
# merged. (If source executed, all objects bound in source will be available
# in global env).
make_with_recipe(
recipe = {
dat <- readRDS("data/raw_data.Rds")
pop <- readRDS("data/pop_data.Rds")
merged_dat <- merge(dat, pop, by = "id")
saveRDS(merged_dat, "data/merged_data.Rds")
},
targets = "data/merged_data.Rds",
dependencies = c("data/raw_data.Rds", "data/raw_pop.Rds"),
envir = globalenv()
)
}