censboot_summary: Summarising Survival Regression Models Using the Bootstrap

View source: R/censboot_summary.R

censboot_summaryR Documentation

Summarising Survival Regression Models Using the Bootstrap

Description

Summaries for Cox proportional hazards and accelerated failure time models, using the bootstrap for p-values and confidence intervals.

Usage

censboot_summary(
  model,
  type = "perc",
  sim = "ordinary",
  strata = NULL,
  coef = "exp",
  conf.level = 0.95,
  R = 999,
  pval_precision = NULL,
  adjust.method = "none",
  ...
)

Arguments

model

An object fitted using "survival::coxph", "survival::survreg", or "rms::psm".

type

A vector of character strings representing the type of interval to base the test on. The value should be one of "norm", "basic", "stud", and "perc" (the default).

sim

The method used for bootstrapping. See ?boot::censboot for details. Currently only "ordinary" (case resampling) is supported.

strata

The strata used in the calls to survfit. It can be a vector or a matrix with 2 columns. If it is a vector then it is assumed to be the strata for the survival distribution, and the censoring distribution is assumed to be the same for all observations. If it is a matrix then the first column is the strata for the survival distribution and the second is the strata for the censoring distribution. When sim = "ordinary", only one set of strata is used to stratify the observations. This is taken to be the first column of strata when it is a matrix.

coef

A string specifying whether to use exponentiated coefficients in the summary table. Either "exp" (for exponentiated coefficients, i.e. hazard ratios in the case of a Cox PH model) or "raw" (for coefficients on their original scale). The default is "exp".

conf.level

The confidence level for the confidence intervals. The default is 0.95.

R

The number of bootstrap replicates. The default is 999.

pval_precision

The desired precision for the p-value. The default is 1/R.

adjust.method

Adjustment of p-values for multiple comparisons using p.adjust. The default is "none", in which case the p-values aren't adjusted. The other options are "holm", "hochberg", "hommel", "bonferroni", "BH", "BY", and "fdr"; see ?p.adjust for details on these methods.

...

Additional arguments passed to censboot, such as parallel for parallel computations. See ?boot::censboot for details.

Details

p-values can be computed by inverting the corresponding confidence intervals, as described in Section 12.2 of Thulin (2021) and Section 3.12 in Hall (1992). This function computes p-values in this way from "coxph" or "survreg" objects. The approach relies on the fact that:

  • the p-value of the two-sided test for the parameter theta is the smallest alpha such that theta is not contained in the corresponding 1-alpha confidence interval,

  • for a test of the parameter theta with significance level alpha, the set of values of theta that aren't rejected by the two-sided test (when used as the null hypothesis) is a 1-alpha confidence interval for theta.

Value

A data frame containing coefficient estimates, bootstrap confidence intervals, and bootstrap p-values.

References

\insertRef

hall92boot.pval \insertRefthulin21boot.pval

Examples

library(survival)
# Weibull AFT model:
# Note that model = TRUE is required for use with censboot_summary:
model <- survreg(formula = Surv(time, status) ~ age + sex, data = lung,
                 dist = "weibull", model = TRUE)
censboot_summary(model, R = 99)
# (Values for R greater than 99 are recommended for most applications.)

# Cox PH model:
model <- coxph(formula = Surv(time, status) ~ age + sex, data = lung,
               model = TRUE)
# Table with hazard ratios:
censboot_summary(model, R = 99)
censboot_summary(model, coef = "raw", R = 99)

boot.pval documentation built on Sept. 28, 2023, 5:07 p.m.