Derive Reference Range Indicator
Usage
derive_var_anrind(
dataset,
signif_dig = get_admiral_option("signif_digits"),
use_a1hia1lo = FALSE
)Arguments
- dataset
Input dataset
ANRLO,ANRHI, andAVALare expected and ifuse_a1hia1lois set toTRUE,A1LOandA1H1are expected as well.- signif_dig
-
Number of significant digits to use when comparing values.
Significant digits used to avoid floating point discrepancies when comparing numeric values. See blog: How admiral handles floating points
- use_a1hia1lo
A logical value indicating whether to use
A1H1andA1LOin the derivation ofANRIND.
Details
In the case that A1H1 and A1LO are to be used, ANRIND is set to:
"NORMAL"ifAVALis greater or equalANRLOand less than or equalANRHI; or ifAVALis greater than or equalANRLOandANRHIis missing; or ifAVALis less than or equalANRHIandANRLOis missing"LOW"ifAVALis less thanANRLOand eitherA1LOis missing orAVALis greater than or equalA1LO"HIGH"ifAVALis greater thanANRHIand eitherA1HIis missing orAVALis less than or equalA1HI"LOW LOW"ifAVALis less thanA1LO"HIGH HIGH"ifAVALis greater thanA1HI
In the case that A1H1 and A1LO are not to be used, ANRIND is set to:
"NORMAL"ifAVALis greater or equalANRLOand less than or equalANRHI; or ifAVALis greater than or equalANRLOandANRHIis missing; or ifAVALis less than or equalANRHIandANRLOis missing"LOW"ifAVALis less thanANRLO"HIGH"ifAVALis greater thanANRHI
See also
BDS-Findings Functions that returns variable appended to dataset:
derive_basetype_records(),
derive_var_analysis_ratio(),
derive_var_atoxgr(),
derive_var_atoxgr_dir(),
derive_var_base(),
derive_var_chg(),
derive_var_ontrtfl(),
derive_var_pchg(),
derive_var_shift(),
derive_vars_crit_flag()
Examples
library(tibble)
library(dplyr, warn.conflicts = FALSE)
vs <- tibble::tribble(
~USUBJID, ~PARAMCD, ~AVAL, ~ANRLO, ~ANRHI, ~A1LO, ~A1HI,
"P01", "PUL", 70, 60, 100, 40, 110,
"P01", "PUL", 57, 60, 100, 40, 110,
"P01", "PUL", 60, 60, 100, 40, 110,
"P01", "DIABP", 102, 60, 80, 40, 90,
"P02", "PUL", 109, 60, 100, 40, 110,
"P02", "PUL", 100, 60, 100, 40, 110,
"P02", "DIABP", 80, 60, 80, 40, 90,
"P03", "PUL", 39, 60, 100, 40, 110,
"P03", "PUL", 40, 60, 100, 40, 110
)
vs %>% derive_var_anrind(use_a1hia1lo = TRUE)
#> # A tibble: 9 × 8
#> USUBJID PARAMCD AVAL ANRLO ANRHI A1LO A1HI ANRIND
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
#> 1 P01 PUL 70 60 100 40 110 NORMAL
#> 2 P01 PUL 57 60 100 40 110 LOW
#> 3 P01 PUL 60 60 100 40 110 NORMAL
#> 4 P01 DIABP 102 60 80 40 90 HIGH HIGH
#> 5 P02 PUL 109 60 100 40 110 HIGH
#> 6 P02 PUL 100 60 100 40 110 NORMAL
#> 7 P02 DIABP 80 60 80 40 90 NORMAL
#> 8 P03 PUL 39 60 100 40 110 LOW LOW
#> 9 P03 PUL 40 60 100 40 110 LOW
vs %>% derive_var_anrind(use_a1hia1lo = FALSE)
#> # A tibble: 9 × 8
#> USUBJID PARAMCD AVAL ANRLO ANRHI A1LO A1HI ANRIND
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
#> 1 P01 PUL 70 60 100 40 110 NORMAL
#> 2 P01 PUL 57 60 100 40 110 LOW
#> 3 P01 PUL 60 60 100 40 110 NORMAL
#> 4 P01 DIABP 102 60 80 40 90 HIGH
#> 5 P02 PUL 109 60 100 40 110 HIGH
#> 6 P02 PUL 100 60 100 40 110 NORMAL
#> 7 P02 DIABP 80 60 80 40 90 NORMAL
#> 8 P03 PUL 39 60 100 40 110 LOW
#> 9 P03 PUL 40 60 100 40 110 LOW
