Binomial Regression for censored competing risks data
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)
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, ... )
formula |
formula with outcome (see |
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 baseline than standard Cox |
cens.code |
gives censoring code |
no.opt |
to not optimize |
method |
for optimization |
augmentation |
to augment binomial regression |
... |
Additional arguments to lower level funtions |
Based on binomial regresion IPCW response estimating equation:
X ( Δ I(T ≤q t, ε=1 )/G_c(T_i-) - expit( X^T beta)) = 0
for IPCW adjusted responses.
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
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)
##########################################
### 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)
bplot(cif2,add=TRUE,col=2)
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))
summary(cifdob)
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(coef=cifdob$coef,vcov=cifdob$var,f=riskratio)Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.