Deprecated on 2019-05-16. Use drake_plan()
transformations instead. See
https://books.ropensci.org/drake/plans.html#large-plans
for the details.
Usage
reduce_by(
plan,
...,
prefix = "target",
begin = "",
op = " + ",
end = "",
pairwise = TRUE,
append = TRUE,
filter = NULL,
sep = "_"
)
Arguments
- plan
Workflow plan data frame of prespecified targets.
- ...
Symbols, columns of
plan
to define target groupings. Areduce_plan()
call is applied for each grouping. Groupings with allNA
s in the selector variables are ignored.- prefix
Character, prefix for naming the new targets. Suffixes are generated from the values of the columns specified in
...
.- begin
Character, code to place at the beginning of each step in the reduction.
- op
Binary operator to apply in the reduction
- end
Character, code to place at the end of each step in the reduction.
- pairwise
Logical, whether to create multiple new targets, one for each pair/step in the reduction (
TRUE
), or to do the reduction all in one command.- append
Logical. If
TRUE
, the output will include the original rows in theplan
argument. IfFALSE
, the output will only include the new targets and commands.- filter
An expression like you would pass to
dplyr::filter()
. The rows for whichfilter
evaluates toTRUE
will be gathered, and the rest will be excluded from gathering. Why not just calldplyr::filter()
beforegather_by()
? Becausegather_by(append = TRUE, filter = my_column == "my_value")
gathers on some targets while including all the original targets in the output. See the examples for a demonstration.- sep
Character scalar, delimiter for creating the names of new targets.
Details
Perform several calls to reduce_plan()
based on groupings from columns in the plan,
and then row-bind the new targets to the plan.