library(tibble)
adlb <- tribble(
~USUBJID, ~AVISITN, ~AVAL, ~ABLFL,
"1", -1, 113, NA_character_,
"1", 0, 113, "Y",
"1", 3, 117, NA_character_,
"2", 0, 95, "Y",
"3", 0, 111, "Y",
"3", 1, 101, NA_character_,
"3", 2, 123, NA_character_
)
# Derive BASE for post-baseline records only (derive_var_base() can not be used in this case
# as it requires the baseline observation to be in the input dataset)
restrict_derivation(
adlb,
derivation = derive_vars_merged,
args = params(
by_vars = exprs(USUBJID),
dataset_add = adlb,
filter_add = ABLFL == "Y",
new_vars = exprs(BASE = AVAL)
),
filter = AVISITN > 0
)
# Derive BASE for baseline and post-baseline records only
restrict_derivation(
adlb,
derivation = derive_var_base,
args = params(
by_vars = exprs(USUBJID)
),
filter = AVISITN >= 0
) %>%
# Derive CHG for post-baseline records only
restrict_derivation(
derivation = derive_var_chg,
filter = AVISITN > 0
)
Run the code above in your browser using DataLab