derive_param_exposure {admiral} | R Documentation |
Add an Aggregated Parameter and Derive the Associated Start and End Dates
Description
Add a record computed from the aggregated analysis value of another parameter and compute the
start (ASTDT(M)
)and end date (AENDT(M)
) as the minimum and maximum date by by_vars
.
Usage
derive_param_exposure(
dataset = NULL,
dataset_add,
by_vars,
input_code,
analysis_var,
summary_fun,
filter = NULL,
filter_add = NULL,
set_values_to = NULL
)
Arguments
Details
For each group (with respect to the variables specified for the by_vars
parameter),
an observation is added to the output dataset and the defined values are set to the defined
variables
Value
The input dataset with a new record added for each group (with respect to the variables
specified for the by_vars
parameter). That is, a variable will only
be populated in this new record if it is specified in by_vars
.
For each new record,
the variable specified
analysis_var
is computed as defined bysummary_fun
,the variable(s) specified on the LHS of
set_values_to
are set to their paired value (RHS). In addition, the start and end date are computed as the minimum/maximum dates byby_vars
.
If the input datasets contains
both
AxxDTM
andAxxDT
then allASTDTM
,AENDTM
,ASTDT
,AENDT
are computedonly
AxxDTM
thenASTDTM
,AENDTM
are computedonly
AxxDT
thenASTDT
,AENDT
are computed.
See Also
BDS-Findings Functions for adding Parameters/Records:
default_qtc_paramcd()
,
derive_expected_records()
,
derive_extreme_event()
,
derive_extreme_records()
,
derive_locf_records()
,
derive_param_bmi()
,
derive_param_bsa()
,
derive_param_computed()
,
derive_param_doseint()
,
derive_param_exist_flag()
,
derive_param_framingham()
,
derive_param_map()
,
derive_param_qtc()
,
derive_param_rr()
,
derive_param_wbc_abs()
,
derive_summary_records()
Examples
library(tibble)
library(dplyr, warn.conflicts = FALSE)
library(lubridate, warn.conflicts = FALSE)
library(stringr, warn.conflicts = FALSE)
adex <- tribble(
~USUBJID, ~PARAMCD, ~AVAL, ~AVALC, ~VISIT, ~ASTDT, ~AENDT,
"1015", "DOSE", 80, NA_character_, "BASELINE", ymd("2014-01-02"), ymd("2014-01-16"),
"1015", "DOSE", 85, NA_character_, "WEEK 2", ymd("2014-01-17"), ymd("2014-06-18"),
"1015", "DOSE", 82, NA_character_, "WEEK 24", ymd("2014-06-19"), ymd("2014-07-02"),
"1015", "ADJ", NA, NA_character_, "BASELINE", ymd("2014-01-02"), ymd("2014-01-16"),
"1015", "ADJ", NA, NA_character_, "WEEK 2", ymd("2014-01-17"), ymd("2014-06-18"),
"1015", "ADJ", NA, NA_character_, "WEEK 24", ymd("2014-06-19"), ymd("2014-07-02"),
"1017", "DOSE", 80, NA_character_, "BASELINE", ymd("2014-01-05"), ymd("2014-01-19"),
"1017", "DOSE", 50, NA_character_, "WEEK 2", ymd("2014-01-20"), ymd("2014-05-10"),
"1017", "DOSE", 65, NA_character_, "WEEK 24", ymd("2014-05-10"), ymd("2014-07-02"),
"1017", "ADJ", NA, NA_character_, "BASELINE", ymd("2014-01-05"), ymd("2014-01-19"),
"1017", "ADJ", NA, "ADVERSE EVENT", "WEEK 2", ymd("2014-01-20"), ymd("2014-05-10"),
"1017", "ADJ", NA, NA_character_, "WEEK 24", ymd("2014-05-10"), ymd("2014-07-02")
) %>%
mutate(ASTDTM = ymd_hms(paste(ASTDT, "00:00:00")), AENDTM = ymd_hms(paste(AENDT, "00:00:00")))
# Cumulative dose
adex %>%
derive_param_exposure(
dataset_add = adex,
by_vars = exprs(USUBJID),
set_values_to = exprs(
PARAMCD = "TDOSE",
PARCAT1 = "OVERALL",
AVAL = sum(AVAL, na.rm = TRUE)
),
input_code = "DOSE"
) %>%
select(-ASTDTM, -AENDTM)
# average dose in w2-24
adex %>%
derive_param_exposure(
dataset_add = adex,
by_vars = exprs(USUBJID),
filter_add = VISIT %in% c("WEEK 2", "WEEK 24"),
set_values_to = exprs(
PARAMCD = "AVDW224",
PARCAT1 = "WEEK2-24",
AVAL = mean(AVAL, na.rm = TRUE)
),
input_code = "DOSE"
) %>%
select(-ASTDTM, -AENDTM)
# Any dose adjustment?
adex %>%
derive_param_exposure(
dataset_add = adex,
by_vars = exprs(USUBJID),
set_values_to = exprs(
PARAMCD = "TADJ",
PARCAT1 = "OVERALL",
AVALC = if_else(sum(!is.na(AVALC)) > 0, "Y", NA_character_)
),
input_code = "ADJ"
) %>%
select(-ASTDTM, -AENDTM)