Function for generating random Adverse Event Analysis Dataset for a given Subject-Level Analysis Dataset.

radae(
  ADSL,
  max_n_aes = 10L,
  lookup = NULL,
  lookup_aag = NULL,
  seed = NULL,
  na_percentage = 0,
  na_vars = list(AEBODSYS = c(NA, 0.1), AEDECOD = c(1234, 0.1), AETOXGR = c(1234, 0.1)),
  cached = FALSE
)

Arguments

ADSL

Subject-Level Analysis Dataset (ADSL).

max_n_aes

Maximum number of AEs per patient.

lookup

Data.frame containing additional parameters.

lookup_aag

Data.frame containing additional metadata parameters.

seed

Seed for random number generation.

na_percentage

(numeric) Default percentage of values to be replaced by NA

na_vars

(list) A named list where the name of each element is a column name of ds. Each element of this list should be a numeric vector with two elements

  • seed The seed to be used for this element - can be left NA

  • percentage How many element should be replaced. 0 is 0 % 1 is 100 %, can be left NA and default percentage is used. This will overwrite default percentage (percentage argument))

cached

boolean whether the cached ADAE data cadae should be returned or new data should be generated. If set to TRUE then the other arguments to radae will be ignored.

Value

data.frame

Details

One record per each record in the corresponding SDTM domain.

Keys: STUDYID USUBJID ASTDTM AETERM AESEQ.

Examples

library(random.cdisc.data)
ADSL <- radsl(N = 10, study_duration = 2, seed = 1)
radae(ADSL, seed = 2)
#> # A tibble: 51 × 74
#>    STUDYID USUBJID    SUBJID SITEID   AGE AGEU  SEX   RACE  ETHNIC COUNTRY DTHFL
#>    <chr>   <chr>      <chr>  <chr>  <int> <fct> <fct> <fct> <fct>  <fct>   <fct>
#>  1 AB12345 AB12345-B… id-9   BRA-1     35 YEARS F     BLAC… NOT H… BRA     N    
#>  2 AB12345 AB12345-B… id-9   BRA-1     35 YEARS F     BLAC… NOT H… BRA     N    
#>  3 AB12345 AB12345-B… id-9   BRA-1     35 YEARS F     BLAC… NOT H… BRA     N    
#>  4 AB12345 AB12345-B… id-9   BRA-1     35 YEARS F     BLAC… NOT H… BRA     N    
#>  5 AB12345 AB12345-B… id-9   BRA-1     35 YEARS F     BLAC… NOT H… BRA     N    
#>  6 AB12345 AB12345-B… id-8   BRA-9     31 YEARS F     ASIAN NOT H… BRA     N    
#>  7 AB12345 AB12345-B… id-8   BRA-9     31 YEARS F     ASIAN NOT H… BRA     N    
#>  8 AB12345 AB12345-B… id-8   BRA-9     31 YEARS F     ASIAN NOT H… BRA     N    
#>  9 AB12345 AB12345-B… id-8   BRA-9     31 YEARS F     ASIAN NOT H… BRA     N    
#> 10 AB12345 AB12345-B… id-8   BRA-9     31 YEARS F     ASIAN NOT H… BRA     N    
#> # … with 41 more rows, and 63 more variables: INVID <chr>, INVNAM <chr>,
#> #   ARM <fct>, ARMCD <fct>, ACTARM <fct>, ACTARMCD <fct>, TRT01P <fct>,
#> #   TRT01A <fct>, REGION1 <fct>, STRATA1 <fct>, STRATA2 <fct>, BMRKR1 <dbl>,
#> #   BMRKR2 <fct>, ITTFL <fct>, SAFFL <fct>, BMEASIFL <fct>, BEP01FL <fct>,
#> #   RANDDT <date>, TRTSDTM <dttm>, TRTEDTM <dttm>, EOSSTT <fct>, EOTSTT <fct>,
#> #   EOSDT <date>, EOSDY <int>, DCSREAS <fct>, DTHDT <date>, DTHCAUS <fct>,
#> #   DTHCAT <fct>, LDDTHELD <int>, LDDTHGR1 <fct>, LSTALVDT <date>, …

# Add metadata.
aag <- utils::read.table(
  sep = ",", header = TRUE,
  text = paste(
    "NAMVAR,SRCVAR,GRPTYPE,REFNAME,REFTERM,SCOPE",
    "CQ01NAM,AEDECOD,CUSTOM,D.2.1.5.3/A.1.1.1.1 AESI,dcd D.2.1.5.3,",
    "CQ01NAM,AEDECOD,CUSTOM,D.2.1.5.3/A.1.1.1.1 AESI,dcd A.1.1.1.1,",
    "SMQ01NAM,AEDECOD,SMQ,C.1.1.1.3/B.2.2.3.1 AESI,dcd C.1.1.1.3,BROAD",
    "SMQ01NAM,AEDECOD,SMQ,C.1.1.1.3/B.2.2.3.1 AESI,dcd B.2.2.3.1,BROAD",
    "SMQ02NAM,AEDECOD,SMQ,Y.9.9.9.9/Z.9.9.9.9 AESI,dcd Y.9.9.9.9,NARROW",
    "SMQ02NAM,AEDECOD,SMQ,Y.9.9.9.9/Z.9.9.9.9 AESI,dcd Z.9.9.9.9,NARROW",
    sep = "\n"
  ), stringsAsFactors = FALSE
)

adae <- radae(ADSL, lookup_aag = aag)

with(
  adae,
  cbind(
    table(AEDECOD, SMQ01NAM),
    table(AEDECOD, CQ01NAM)
  )
)
#>               C.1.1.1.3/B.2.2.3.1 AESI D.2.1.5.3/A.1.1.1.1 AESI
#> dcd A.1.1.1.1                        0                        2
#> dcd A.1.1.1.2                        0                        0
#> dcd B.1.1.1.1                        0                        0
#> dcd B.2.1.2.1                        0                        0
#> dcd B.2.2.3.1                        5                        0
#> dcd C.1.1.1.3                        7                        0
#> dcd C.2.1.2.1                        0                        0
#> dcd D.1.1.1.1                        0                        0
#> dcd D.1.1.4.2                        0                        0
#> dcd D.2.1.5.3                        0                        4