binreg: Binomial Regression for censored competing risks data In mets: Analysis of Multivariate Event Times

 binreg R Documentation

Binomial Regression for censored competing risks data

Description

Simple version of comp.risk function of timereg for just one time-point thus fitting the model

P(T ≤q t, ε=1 | X ) = expit( X^T beta)

Usage

```binreg(
formula,
data,
cause = 1,
time = NULL,
beta = NULL,
offset = NULL,
weights = NULL,
cens.weights = NULL,
cens.model = ~+1,
se = TRUE,
kaplan.meier = TRUE,
cens.code = 0,
no.opt = FALSE,
method = "nr",
augmentation = NULL,
...
)
```

Arguments

 `formula` formula with outcome (see `coxph`) `data` data frame `cause` cause of interest `time` time of interest `beta` starting values `offset` offsets for partial likelihood `weights` for score equations `cens.weights` censoring weights `cens.model` only stratified cox model without covariates `se` to compute se's based on IPCW `kaplan.meier` uses Kaplan-Meier for IPCW in contrast to exp(-Baseline) `cens.code` gives censoring code `no.opt` to not optimize `method` for optimization `augmentation` to augment binomial regression `...` Additional arguments to lower level funtions

Details

Based on binomial regresion IPCW response estimating equation:

X ( Δ I(T ≤q t, ε=1 )/G_c(T_i-) - expit( X^T beta)) = 0

X I(min(T_i,t) < G_i)/G_c(min(T_i ,t)) ( I(T ≤q t, ε=1 ) - expit( X^T beta)) = 0

a standard logistic regression with weights that adjust for IPCW.

variance is based on

∑ w_i^2

also with IPCW adjustment, and naive.var is variance under known censoring model.

Censoring model may depend on strata.

Thomas Scheike

Examples

```
data(bmt)
# logistic regresion with IPCW binomial regression
out <- binreg(Event(time,cause)~tcell+platelet,bmt,time=50)
summary(out)
predict(out,data.frame(tcell=c(0,1),platelet=c(1,1)),se=TRUE)

outs <- binreg(Event(time,cause)~tcell+platelet,bmt,time=50,cens.model=~strata(tcell,platelet))
summary(outs)

## glm with IPCW weights
outl <- logitIPCW(Event(time,cause)~tcell+platelet,bmt,time=50)
summary(outl)

##########################################
### risk-ratio of different causes #######
##########################################
data(bmt)
bmt\$id <- 1:nrow(bmt)
bmt\$status <- bmt\$cause
bmt\$strata <- 1
bmtdob <- bmt
bmtdob\$strata <-2
bmtdob <- dtransform(bmtdob,status=1,cause==2)
bmtdob <- dtransform(bmtdob,status=2,cause==1)
###
bmtdob <- rbind(bmt,bmtdob)
dtable(bmtdob,cause+status~strata)

cif1 <- cif(Event(time,cause)~+1,bmt,cause=1)
cif2 <- cif(Event(time,cause)~+1,bmt,cause=2)
bplot(cif1)

cifs1 <- binreg(Event(time,cause)~tcell+platelet+age,bmt,cause=1,time=50)
cifs2 <- binreg(Event(time,cause)~tcell+platelet+age,bmt,cause=2,time=50)
summary(cifs1)
summary(cifs2)

cifdob <- binreg(Event(time,status)~-1+factor(strata)+
tcell*factor(strata)+platelet*factor(strata)+age*factor(strata)
+cluster(id),bmtdob,cause=1,time=50,cens.model=~strata(strata)+cluster(id))
summary(cifdob)

expit  <- function(z) 1/(1+exp(-z))

riskratio <- function(p) {
expit  <- function(z) 1/(1+exp(-z)) ## expit
Z <- rbind(c(1,0,1,1,0,0,0,0), c(0,1,1,1,0,1,1,0))
lp <- c(Z %*% p)
p <- expit(lp)
return(p[1]/p[2])
}

estimate(cifdob,f=riskratio)

```

mets documentation built on Oct. 2, 2022, 5:06 p.m.