Estimate censoring probabilities

estimate_censoring(
  clones,
  predictors = NULL,
  method = c("Cox", "pooled_logit", "stabilized_logit"),
  numerator_predictors = NULL,
  censoring = "censoring",
  id = "id",
  time_start = "Tstart",
  time_stop = "Tstop",
  time_spline_df = NULL,
  eps = 1e-06
)

Arguments

clones

A named list of long-form clone data frames.

predictors

Optional character vector of denominator model predictors.

method

Censoring model. "Cox" fits a Cox censoring model, "pooled_logit" fits a pooled logistic denominator model, and "stabilized_logit" additionally fits a numerator model.

numerator_predictors

Optional character vector of numerator model predictors for stabilized pooled-logit weights. When NULL, predictors are used.

censoring

Column name for the censoring indicator.

id

Column name for the subject identifier.

time_start

Column name for interval start time.

time_stop

Column name for interval stop time.

time_spline_df

Degrees of freedom for the natural cubic spline of time_start in pooled-logistic censoring models. Set to an integer of at least 2 to use a spline. The default NULL uses a linear time term. Ignored when method = "Cox".

eps

Small probability floor to avoid division by zero.

Value

A named list of clone data frames with censoring probability columns added. All methods add P_uncens; pooled-logit methods also add p_cens_den, and stabilized pooled logit adds p_cens_num and P_uncens_num.

Examples

data(lungcancer)
arms <- c("Control", "Surgery")
clones <- clone_arms(lungcancer, arms)
policies <- create_policy_A(
  arms, "surgery", "timetosurgery", 182.62, "death", "fup_obs",
  clone_outcome = "outcome", clone_followup = "fup"
)
clones_policy <- apply_logics(clones, policies)
censoring_logics <- create_censoring_logics_A(
  arms, "surgery", "timetosurgery", 182.62, "fup_obs",
  clone_censoring = "censoring",
  clone_uncensored_followup = "fup_uncensored"
)
clones_censored <- apply_logics(clones_policy, censoring_logics)
clones_final <- create_final_data(
  clones_censored, "fup", "outcome", "censoring", "id"
)
clones_estimated <- estimate_censoring(
  clones_final,
  predictors = c("age", "sex"),
  method = "pooled_logit"
)