Add a new parameter indicating that a certain event exists in a dataset.
AVALC and AVAL indicate if an event occurred or not. For example, the
function can derive a parameter indicating if there is measurable disease at
baseline.
Usage
derive_param_exist_flag(
dataset = NULL,
dataset_ref,
dataset_add,
condition,
true_value = "Y",
false_value = NA_character_,
missing_value = NA_character_,
filter_add = NULL,
by_vars = get_admiral_option("subject_keys"),
set_values_to
)Arguments
- dataset
-
Input dataset
The variables specified by the
by_varsargument are expected to be in the dataset.PARAMCDis expected as well.- Default value
NULL
- dataset_ref
-
Reference dataset, e.g., ADSL
The variables specified in
by_varsare expected. For each group (as defined byby_vars) from the specified dataset (dataset_ref), the existence flag is calculated and added as a new observation to the input datasets (dataset).- Default value
none
- dataset_add
-
Additional dataset
The variables specified by the
by_varsparameter are expected.This dataset is used to check if an event occurred or not. Any observation in the dataset fulfilling the event condition (
condition) is considered as an event.- Default value
none
- condition
-
Event condition
The condition is evaluated at the additional dataset (
dataset_add).For all groups where it evaluates as
TRUEat least onceAVALCis set to the true value (true_value) for the new observations.For all groups where it evaluates as
FALSEorNAfor all observationsAVALCis set to the false value (false_value).For all groups not present in the additional dataset
AVALCis set to the missing value (missing_value).Comparing derived numeric variables to fixed values, e.g.,
PCHG <= -90, may give unexpected results due to floating point representation. For details and solutions see the "Floating Point Comparisons" section invignette("concepts_conventions").- Default value
none
- true_value
-
True value
For all groups with at least one observations in the additional dataset (
dataset_add) fulfilling the event condition (condition),AVALCis set to the specified value (true_value).- Permitted values
A character scalar
- Default value
"Y"
- false_value
-
False value
For all groups with at least one observations in the additional dataset (
dataset_add) but none of them is fulfilling the event condition (condition),AVALCis set to the specified value (false_value).- Permitted values
A character scalar
- Default value
NA_character_
- missing_value
-
Values used for missing information
For all groups without an observation in the additional dataset (
dataset_add),AVALCis set to the specified value (missing_value).- Permitted values
A character scalar
- Default value
NA_character_
- filter_add
-
Filter for additional data
Only observations fulfilling the specified condition are taken into account for flagging. If the parameter is not specified, all observations are considered.
Comparing derived numeric variables to fixed values, e.g.,
PCHG <= -90, may give unexpected results due to floating point representation. For details and solutions see the "Floating Point Comparisons" section invignette("concepts_conventions").- Permitted values
a condition
- Default value
NULL
- by_vars
-
Grouping variables
- Default value
get_admiral_option("subject_keys")
- set_values_to
-
Variables to set
A named list returned by
exprs()defining the variables to be set for the new parameter, e.g.exprs(PARAMCD = "MDIS", PARAM = "Measurable Disease at Baseline")is expected. The values must be symbols, character strings, numeric values,NA, or expressions.- Default value
none
Value
The input dataset with a new parameter indicating if an event
occurred (AVALC and the variables specified by by_vars
and set_value_to are populated for the new parameter).
Details
The additional dataset (
dataset_add) is restricted to the observations matching thefilter_addcondition.-
For each group in
dataset_refa new observation is created.The
AVALCvariable is added and set to the true value (true_value) if for the group at least one observation exists in the (restricted) additional dataset where the condition evaluates toTRUE.It is set to the false value (
false_value) if for the group at least one observation exists and for all observations the condition evaluates toFALSEorNA.Otherwise, it is set to the missing value (
missing_value), i.e., for those groups not indataset_add.
The variables specified by the
set_values_toparameter are added to the new observations.The new observations are added to input dataset.
See also
BDS-Findings Functions for adding Parameters/Records:
default_qtc_paramcd(),
derive_basetype_records(),
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_exposure(),
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)
# Derive a new parameter for measurable disease at baseline
adsl <- tribble(
~USUBJID,
"1",
"2",
"3"
) %>%
mutate(STUDYID = "XX1234")
tu <- tribble(
~USUBJID, ~VISIT, ~TUSTRESC,
"1", "SCREENING", "TARGET",
"1", "WEEK 1", "TARGET",
"1", "WEEK 5", "TARGET",
"1", "WEEK 9", "NON-TARGET",
"2", "SCREENING", "NON-TARGET",
"2", "SCREENING", "NON-TARGET"
) %>%
mutate(
STUDYID = "XX1234",
TUTESTCD = "TUMIDENT"
)
derive_param_exist_flag(
dataset_ref = adsl,
dataset_add = tu,
filter_add = TUTESTCD == "TUMIDENT" & VISIT == "SCREENING",
condition = TUSTRESC == "TARGET",
false_value = "N",
missing_value = "N",
set_values_to = exprs(
AVAL = yn_to_numeric(AVALC),
PARAMCD = "MDIS",
PARAM = "Measurable Disease at Baseline"
)
)
#> # A tibble: 3 × 6
#> STUDYID USUBJID AVALC AVAL PARAMCD PARAM
#> <chr> <chr> <chr> <dbl> <chr> <chr>
#> 1 XX1234 1 Y 1 MDIS Measurable Disease at Baseline
#> 2 XX1234 2 N 0 MDIS Measurable Disease at Baseline
#> 3 XX1234 3 N 0 MDIS Measurable Disease at Baseline
