
Adds CRITx/CRITxFL pairs to BCVA dataset
Source: R/derive_var_bcvacritxfl.R
derive_var_bcvacritxfl.Rd The
derive_var_bcvacritxfl()
function has been superseded in favor of admiral::derive_vars_crit_flag().
Adds a criterion variables CRITx and their corresponding flags CRITxFL to a
dataset containing BCVA records
Usage
derive_var_bcvacritxfl(
dataset,
crit_var,
bcva_ranges = NULL,
bcva_uplims = NULL,
bcva_lowlims = NULL,
additional_text = "",
critxfl_index = NULL
)Arguments
- dataset
Input dataset containing BCVA data (usually ADBCVA).
- crit_var
Variable with respect to which
CRITx/CRITxFLare derived (usuallyCHGorAVAL).- bcva_ranges
List containing one or more numeric vectors of length 2. For each vector
c(a,b)inbcva_ranges, a pair of variablesCRITx,CRITxFLis created with the condition:a <= crit_var <= b. If criterion flags of that type are not required, then leave as NULL.- bcva_uplims
List containing one or more numeric elements. For each element a in
bcva_uplims, a pair of variablesCRITx,CRITxFLis created with the condition:crit_var <= a. If criterion flags of that type are not required, then leave as NULL.- bcva_lowlims
List containing one or more numeric elements. For each element b in
bcva_lowlims, a pair of variablesCRITx,CRITxFLis created with the condition:crit_var >= b. If criterion flags of that type are not required, then leave as NULL.- additional_text
string containing additional text to append to
CRITx- critxfl_index
positive integer detailing the first value of x to use in
CRITxFL. If not supplied, the function takes the first available value of x, counting up from x = 1.
Details
This function works by calling derive_var_bcvacritxfl() once for each of the
elements in bcva_ranges, bcva_uplims and bcva_lowlims.
NOTE: if crit_var is equal to NA, then the resulting criterion flag is also marked
as NA.
Examples
library(tibble)
library(admiral)
library(admiraldev)
adbcva1 <- tribble(
~STUDYID, ~USUBJID, ~AVISIT, ~BASETYPE, ~PARAMCD, ~CHG,
"XXX001", "P01", "BASELINE", "LAST", "SBCVA", 0,
"XXX001", "P01", "WEEK 2", "LAST", "FBCVA", 2,
"XXX001", "P02", "BASELINE", "LAST", "SBCVA", -13,
"XXX001", "P02", "WEEK 2", "LAST", "FBCVA", 5,
"XXX001", "P03", "BASELINE", "LAST", "SBCVA", NA,
"XXX001", "P03", "WEEK 2", "LAST", "FBCVA", 17
)
derive_var_bcvacritxfl(
dataset = adbcva1,
crit_var = exprs(CHG),
bcva_ranges = list(c(0, 5), c(-5, -1), c(10, 15)),
bcva_uplims = list(5, 10),
bcva_lowlims = list(8),
additional_text = ""
)
#> # A tibble: 6 × 18
#> STUDYID USUBJID AVISIT BASETYPE PARAMCD CHG CRIT1 CRIT1FL CRIT2 CRIT2FL
#> <chr> <chr> <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr>
#> 1 XXX001 P01 BASELINE LAST SBCVA 0 0 <= CH… Y -5 <… N
#> 2 XXX001 P01 WEEK 2 LAST FBCVA 2 0 <= CH… Y -5 <… N
#> 3 XXX001 P02 BASELINE LAST SBCVA -13 0 <= CH… N -5 <… N
#> 4 XXX001 P02 WEEK 2 LAST FBCVA 5 0 <= CH… Y -5 <… N
#> 5 XXX001 P03 BASELINE LAST SBCVA NA 0 <= CH… NA -5 <… NA
#> 6 XXX001 P03 WEEK 2 LAST FBCVA 17 0 <= CH… N -5 <… N
#> # ℹ 8 more variables: CRIT3 <chr>, CRIT3FL <chr>, CRIT4 <chr>, CRIT4FL <chr>,
#> # CRIT5 <chr>, CRIT5FL <chr>, CRIT6 <chr>, CRIT6FL <chr>
adbcva2 <- tribble(
~STUDYID, ~USUBJID, ~AVISIT, ~BASETYPE, ~PARAMCD, ~AVAL, ~CHG,
"XXX001", "P01", "BASELINE", "LAST", "SBCVA", 4, NA,
"XXX001", "P01", "BASELINE", "LAST", "SBCVA", 6, NA,
"XXX001", "P01", "AVERAGE BASELINE", "AVERAGE", "SBCVA", 5, NA,
"XXX001", "P01", "WEEK 2", "LAST", "SBCVA", -3, NA,
"XXX001", "P01", "WEEK 4", "LAST", "SBCVA", -10, NA,
"XXX001", "P01", "WEEK 6", "LAST", "SBCVA", 12, NA,
"XXX001", "P01", "WEEK 2", "AVERAGE", "SBCVA", -2, -7,
"XXX001", "P01", "WEEK 4", "AVERAGE", "SBCVA", 6, 1,
"XXX001", "P01", "WEEK 6", "AVERAGE", "SBCVA", 3, -2
)
restrict_derivation(
adbcva2,
derivation = derive_var_bcvacritxfl,
args = params(
crit_var = exprs(CHG),
bcva_ranges = list(c(0, 5), c(-10, 0)),
bcva_lowlims = list(5),
additional_text = " (AVERAGE)"
),
filter = PARAMCD %in% c("SBCVA", "FBCVA") & BASETYPE == "AVERAGE"
)
#> # A tibble: 9 × 13
#> STUDYID USUBJID AVISIT BASETYPE PARAMCD AVAL CHG CRIT1 CRIT1FL CRIT2
#> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr>
#> 1 XXX001 P01 AVERAGE BASE… AVERAGE SBCVA 5 NA 0 <=… NA -10 …
#> 2 XXX001 P01 WEEK 2 AVERAGE SBCVA -2 -7 0 <=… N -10 …
#> 3 XXX001 P01 WEEK 4 AVERAGE SBCVA 6 1 0 <=… Y -10 …
#> 4 XXX001 P01 WEEK 6 AVERAGE SBCVA 3 -2 0 <=… N -10 …
#> 5 XXX001 P01 BASELINE LAST SBCVA 4 NA NA NA NA
#> 6 XXX001 P01 BASELINE LAST SBCVA 6 NA NA NA NA
#> 7 XXX001 P01 WEEK 2 LAST SBCVA -3 NA NA NA NA
#> 8 XXX001 P01 WEEK 4 LAST SBCVA -10 NA NA NA NA
#> 9 XXX001 P01 WEEK 6 LAST SBCVA 12 NA NA NA NA
#> # ℹ 3 more variables: CRIT2FL <chr>, CRIT3 <chr>, CRIT3FL <chr>