View source: R/slice_derivation.R
slice_derivation | R Documentation |
The input dataset is split into slices (subsets) and for each slice the derivation is called separately. Some or all arguments of the derivation may vary depending on the slice.
slice_derivation(dataset, derivation, args = NULL, ...)
dataset |
Input dataset |
derivation |
Derivation A function that performs a specific derivation is expected. A derivation
adds variables or observations to a dataset. The first argument of a
derivation must expect a dataset and the derivation must return a dataset.
The function must provide the Please note that it is not possible to specify |
args |
Arguments of the derivation A |
... |
A Each slice defines a subset of the input dataset and some of the parameters
for the derivation. The derivation is called on the subset with the
parameters specified by the |
For each slice the derivation is called on the subset defined by the
filter
field of the derivation_slice()
object and with the parameters
specified by the args
parameter and the args
field of the
derivation_slice()
object. If a parameter is specified for both, the
value in derivation_slice()
overwrites the one in args
.
Observations that match with more than one slice are only considered for the first matching slice.
Observations with no match to any of the slices are included in the output dataset but the derivation is not called for them.
The input dataset with the variables derived by the derivation added
params()
restrict_derivation()
Higher Order Functions:
call_derivation()
,
derivation_slice()
,
restrict_derivation()
library(tibble)
library(stringr)
advs <- tribble(
~USUBJID, ~VSDTC, ~VSTPT,
"1", "2020-04-16", NA_character_,
"1", "2020-04-16", "BEFORE TREATMENT"
)
# For the second slice filter is set to TRUE. Thus derive_vars_dtm is called
# with time_imputation = "last" for all observations which do not match for the
# first slice.
slice_derivation(
advs,
derivation = derive_vars_dtm,
args = params(
dtc = VSDTC,
new_vars_prefix = "A"
),
derivation_slice(
filter = str_detect(VSTPT, "PRE|BEFORE"),
args = params(time_imputation = "first")
),
derivation_slice(
filter = TRUE,
args = params(time_imputation = "last")
)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.