The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
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[@]dogado.de.
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.
Health stats visible at Monitor.