The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
Here, we’ll go over some examples of using per-protocol, censoring. First we need to load the library before getting in to some sample use cases.
options <- SEQopts(# tells SEQuential to create Kaplan-Meier curves
km.curves = TRUE,
# tells SEQuential to weight the outcome model
weighted = TRUE,
# tells SEQuential to build weights from the pre-expanded data
weight.preexpansion = TRUE)
# use some example data in the package
data <- SEQdata
model <- SEQuential(data,
id.col = "ID",
time.col = "time",
eligible.col = "eligible",
treatment.col = "tx_init",
outcome.col = "outcome",
time_varying.cols = c("N", "L", "P"),
fixed.cols = "sex",
method = "censoring",
options = options)
#> Non-required columns provided, pruning for efficiency
#> Pruned
#> Expanding Data...
#> Expansion Successful
#> Moving forward with censoring analysis
#> censoring model created successfully
#> Creating Survival curves
#> Scale for colour is already present.
#> Adding another scale for colour, which will replace the existing scale.
#> Completed
# retrieve risk plot
km_curve(model, plot.type = "risk")
#> Scale for colour is already present.
#> Adding another scale for colour, which will replace the existing scale.
#> [[1]]# retrieve survival and risk data
survival_data <- km_data(model)
risk_data(model)
#> [[1]]
#> Method A Risk
#> <char> <char> <num>
#> 1: censoring 0 0.6596589
#> 2: censoring 1 0.9243520
risk_comparison(model)
#> [[1]]
#> A_x A_y Risk Ratio Risk Difference
#> <fctr> <fctr> <num> <num>
#> 1: risk_0 risk_1 1.4012576 0.2646931
#> 2: risk_1 risk_0 0.7136447 -0.2646931options <- SEQopts(km.curves = TRUE,
weighted = TRUE,
# tells SEQuential to build weights from the post-expanded data
weight.preexpansion = FALSE)
data <- SEQdata
model <- SEQuential(data,
id.col = "ID",
time.col = "time",
eligible.col = "eligible",
treatment.col = "tx_init",
outcome.col = "outcome",
time_varying.cols = c("N", "L", "P"),
fixed.cols = "sex",
method = "censoring",
options = options)
#> Non-required columns provided, pruning for efficiency
#> Pruned
#> Expanding Data...
#> Expansion Successful
#> Moving forward with censoring analysis
#> censoring model created successfully
#> Creating Survival curves
#> Scale for colour is already present.
#> Adding another scale for colour, which will replace the existing scale.
#> Completed
km_curve(model, plot.type = "risk")
#> Scale for colour is already present.
#> Adding another scale for colour, which will replace the existing scale.
#> [[1]]risk_data(model)
#> [[1]]
#> Method A Risk
#> <char> <char> <num>
#> 1: censoring 0 0.6533049
#> 2: censoring 1 0.9281893
risk_comparison(model)
#> [[1]]
#> A_x A_y Risk Ratio Risk Difference
#> <fctr> <fctr> <num> <num>
#> 1: risk_0 risk_1 1.4207598 0.2748844
#> 2: risk_1 risk_0 0.7038488 -0.2748844options <- SEQopts(km.curves = TRUE,
weighted = TRUE,
weight.preexpansion = TRUE,
# tells SEQuential to run a dynamic intervention
excused = TRUE,
# tells SEQuential to use columns excusedOne and
# excusedZero as excused conditions for treatment switches
excused.cols = c("excusedZero", "excusedOne"),
# tells SEQuential to expect treatment levels 0, 1
# (mapping to the same positions as the list in excused.cols)
treat.level = c(0, 1))
data <- SEQdata
model <- SEQuential(data,
id.col = "ID",
time.col = "time",
eligible.col = "eligible",
treatment.col = "tx_init",
outcome.col = "outcome",
time_varying.cols = c("N", "L", "P"),
fixed.cols = "sex",
method = "censoring",
options = options)
#> Expanding Data...
#> Expansion Successful
#> Moving forward with censoring analysis
#> censoring model created successfully
#> Creating Survival curves
#> Scale for colour is already present.
#> Adding another scale for colour, which will replace the existing scale.
#> Completed
km_curve(model, plot.type = "risk")
#> Scale for colour is already present.
#> Adding another scale for colour, which will replace the existing scale.
#> [[1]]risk_data(model)
#> [[1]]
#> Method A Risk
#> <char> <char> <num>
#> 1: censoring 0 0.9647942
#> 2: censoring 1 0.9627635
risk_comparison(model)
#> [[1]]
#> A_x A_y Risk Ratio Risk Difference
#> <fctr> <fctr> <num> <num>
#> 1: risk_0 risk_1 0.9978953 -0.002030621
#> 2: risk_1 risk_0 1.0021092 0.002030621options <- SEQopts(km.curves = TRUE,
weighted = TRUE,
weight.preexpansion = FALSE,
excused = TRUE,
excused.cols = c("excusedZero", "excusedOne"),
treat.level = c(0, 1),
weight.p99 = TRUE)
data <- SEQdata
model <- SEQuential(data,
id.col = "ID",
time.col = "time",
eligible.col = "eligible",
treatment.col = "tx_init",
outcome.col = "outcome",
time_varying.cols = c("N", "L", "P"),
fixed.cols = "sex",
method = "censoring",
options = options)
#> Expanding Data...
#> Expansion Successful
#> Moving forward with censoring analysis
#> censoring model created successfully
#> Creating Survival curves
#> Scale for colour is already present.
#> Adding another scale for colour, which will replace the existing scale.
#> Completed
km_curve(model, plot.type = "risk")
#> Scale for colour is already present.
#> Adding another scale for colour, which will replace the existing scale.
#> [[1]]risk_data(model)
#> [[1]]
#> Method A Risk
#> <char> <char> <num>
#> 1: censoring 0 0.6371076
#> 2: censoring 1 0.9909442
risk_comparison(model)
#> [[1]]
#> A_x A_y Risk Ratio Risk Difference
#> <fctr> <fctr> <num> <num>
#> 1: risk_0 risk_1 1.5553797 0.3538366
#> 2: risk_1 risk_0 0.6429298 -0.3538366options <- SEQopts(km.curves = TRUE,
weighted = TRUE,
weight.preexpansion = FALSE,
excused = TRUE,
excused.cols = c("excusedZero", "excusedOne"),
treat.level = c(0, 1),
# add a competing event
compevent = "LTFU")
data <- SEQdata.LTFU
model <- SEQuential(data,
id.col = "ID",
time.col = "time",
eligible.col = "eligible",
treatment.col = "tx_init",
outcome.col = "outcome",
time_varying.cols = c("N", "L", "P"),
fixed.cols = "sex",
method = "censoring",
options = options)
#> Non-required columns provided, pruning for efficiency
#> Pruned
#> Expanding Data...
#> Expansion Successful
#> Moving forward with censoring analysis
#> censoring model created successfully
#> Creating Survival curves
#> Scale for colour is already present.
#> Adding another scale for colour, which will replace the existing scale.
#> Completed
km_curve(model, plot.type = "risk")
#> Scale for colour is already present.
#> Adding another scale for colour, which will replace the existing scale.
#> [[1]]risk_data(model)
#> [[1]]
#> Method A Risk
#> <char> <char> <num>
#> 1: censoring 0 0.02761456
#> 2: censoring 1 0.01770405
risk_comparison(model)
#> [[1]]
#> A_x A_y Risk Ratio Risk Difference
#> <fctr> <fctr> <num> <num>
#> 1: risk_0 risk_1 0.6411128 -0.009910512
#> 2: risk_1 risk_0 1.5597880 0.009910512options <- SEQopts(# tell SEQuential to run hazard ratios
hazard = TRUE,
weighted = TRUE,
weight.preexpansion = FALSE,
excused = TRUE,
excused.cols = c("excusedZero", "excusedOne"),
weight.p99 = TRUE)
data <- SEQdata
model <- SEQuential(data,
id.col = "ID",
time.col = "time",
eligible.col = "eligible",
treatment.col = "tx_init",
outcome.col = "outcome",
time_varying.cols = c("N", "L", "P"),
fixed.cols = "sex",
method = "censoring",
options = options)
#> Expanding Data...
#> Expansion Successful
#> Moving forward with censoring analysis
#> Completed
hazard_ratio(model)
#> [[1]]
#> Hazard LCI UCI
#> 3.02765 NA NAThese binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.