The aim of Surv_CNSR()
is to map the inconsistency in convention between
the survival package and
CDISC ADaM ADTTE data model.
The function creates a survival object (e.g. survival::Surv()
) that
uses CDISC ADaM ADTTE coding conventions and converts the arguments to the
status/event variable convention used in the
survival package.
The AVAL
and CNSR
arguments are passed to
survival::Surv(time = AVAL, event = 1 - CNSR, type = "right", origin = 0)
.
Arguments
- AVAL
The follow-up time. The follow-up time is assumed to originate from zero. When no argument is passed, the default value is a column/vector named
AVAL
.- CNSR
The censoring indicator where
1=censored
and0=death/event
. When no argument is passed, the default value is a column/vector namedCNSR
.
Details
The Surv_CNSR()
function creates a survival object utilizing the
expected data structure in the CDISC ADaM ADTTE data model,
mapping the CDISC ADaM ADTTE coding conventions with the expected
status/event variable convention used in the survival package---specifically,
the coding convention used for the status/event indicator.
The survival package expects the status/event indicator in the
following format: 0=alive
, 1=dead
. Other accepted choices are
TRUE
/FALSE
(TRUE = death
) or 1
/2
(2=death
).
A final but risky option is to omit the indicator variable, in which case
all subjects are assumed to have an event.
The CDISC ADaM ADTTE data model adopts a different coding convention for
the event/status indicator. Using this convention, the event/status variable
is named 'CNSR'
and uses the following coding: censor = 1
, status/event = 0
.
Examples
# Use the `Surv_CNSR()` function with visR functions
adtte %>%
visR::estimate_KM(formula = visR::Surv_CNSR() ~ SEX)
#> Warning: `estimate_KM()` was deprecated in visR 0.4.0.
#> ℹ Please use `ggsurvfit::ggsurvfit()` instead.
#> Call: ~survival::survfit(formula = visR::Surv_CNSR() ~ SEX, data = data)
#>
#> n events median 0.95LCL 0.95UCL
#> SEX=F 143 80 64 47 96
#> SEX=M 111 72 41 30 57
# Use the `Surv_CNSR()` function with functions from other packages as well
survival::survfit(visR::Surv_CNSR() ~ SEX, data = adtte)
#> Call: survfit(formula = visR::Surv_CNSR() ~ SEX, data = adtte)
#>
#> n events median 0.95LCL 0.95UCL
#> SEX=F 143 80 64 47 96
#> SEX=M 111 72 41 30 57
survival::survreg(visR::Surv_CNSR() ~ SEX + AGE, data = adtte) %>%
broom::tidy()
#> # A tibble: 4 × 5
#> term estimate std.error statistic p.value
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 (Intercept) 3.97 0.993 4.00 0.0000645
#> 2 SEXM -0.412 0.226 -1.82 0.0689
#> 3 AGE 0.0131 0.0131 0.997 0.319
#> 4 Log(scale) 0.326 0.0676 4.83 0.00000139