Learn R Programming

riskRegression (version 2020.12.08)

wglm: Logistic Regression Using IPCW

Description

Logistic regression over multiple timepoints where right-censoring is handle using inverse probability of censoring weighting.

Usage

wglm(
  regressor.event,
  formula.censor,
  times,
  data,
  cause = NA,
  fitter = "coxph",
  product.limit = FALSE
)

Arguments

regressor.event

[formula] a formula with empty left hand side and the covariates for the logistic regression on the right hand side.

formula.censor

[formula] a formula used to fit the censoring model.

times

[numeric vector] time points at which to model the probability of experiencing an event.

data

[data.frame] dataset containing the time at which the event occured, the type of event, and regressors used to fit the censoring and logistic models.

cause

[character or numeric] the cause of interest. Defaults to the first cause.

fitter

[character] routine to fit the Cox regression models.

product.limit

[logical] if TRUE the survival is computed using the product limit estimator.

Value

an object of class "wglm".

Details

First, a Cox model is fitted (argument formula.censor) and the censoring probabilities are computed relative to each timepoint (argument times) to obtain the censoring weights. Then, for each timepoint, a logistic regression is fitted with the appropriate censoring weights and where the outcome is the indicator of having experience the event of interest (argument cause) at or before the timepoint.

Examples

Run this code
# NOT RUN {
library(survival)

set.seed(10)
n <- 250
tau <- 1:5
d <- sampleData(n, outcome = "competing.risks")
d$Y <- (d$event == 1)*(d$time <= tau[3])
d0 <- d[event!=0] ## remove censoring

## no censoring
e0.wglm <- wglm(regressor.event = ~ X1, formula.censor = Surv(time,event==0) ~ X1,
               times = tau, data = d0)
e0.glm <- glm(Y ~ X1, family = binomial, data = d0)

## censoring
e.wglm <- wglm(regressor.event = ~ X1, formula.censor = Surv(time,event==0) ~ X1,
               times = tau, data = d)
# }

Run the code above in your browser using DataLab