Baseline Adjusted Per Protocol Estimation

Baseline adjusted PP estimates use the subset of patient observations where treatments adhered to their randomly assigned treatments to calculate the effect estimate in the following form:

\[logit(Y) = \gamma_{0} + \gamma_{A} A + \gamma_{B} B + \gamma_{t} t\]

Using the artificially censored dataset of adherent patient observations, we fit the pooled logistic regression:

BAdjPPFit <- glm(Y ~ t0 + A + B, data = 
                   simulated.data.combined, 
                 family = binomial(link="logit"))
BAdjPPFit
## 
## Call:  glm(formula = Y ~ t0 + A + B, family = binomial(link = "logit"), 
##     data = simulated.data.combined)
## 
## Coefficients:
## (Intercept)           t0            A            B  
##    -15.7337       0.1027       0.6536       7.5560  
## 
## Degrees of Freedom: 99371 Total (i.e. Null);  99368 Residual
## Null Deviance:       2365 
## Residual Deviance: 1802  AIC: 1810

Then similar to our previous models we calculate the clustered standard errors:

cov.m1 <- vcovCL(BAdjPPFit, type = "HC0", 
                 cluster = simulated.data.combined$id) 
co.test <- coeftest(BAdjPPFit, vcov = cov.m1)
co.CI <- coefci(BAdjPPFit, vcov = cov.m1, level = 0.95)

cat("Baseline adjusted PP effect estimate:", "\n",
        "log(OR)", round(coefficients(BAdjPPFit)[["A"]],3), "\n",
      "95% CI:", round(co.CI["A","2.5 %"],3), ",",round(co.CI["A","97.5 %"],3), "\n",
      "p-value", round(co.test["A","Pr(>|z|)"],3), "\n",
      "robust standard error", round(sqrt(diag(cov.m1))[["A"]],3))
## Baseline adjusted PP effect estimate: 
##  log(OR) 0.654 
##  95% CI: 0.272 , 1.035 
##  p-value 0.001 
##  robust standard error 0.195

Alternatively, we can again use the summ() function to obtain the same estimates:

summ(BAdjPPFit, robust = "HC0", 
     confint = TRUE, digits = 3, cluster="id", 
     model.info = FALSE, model.fit = FALSE)
Est. 2.5% 97.5% z val. p
(Intercept) -15.734 -16.891 -14.576 -26.635 0.000
t0 0.103 0.087 0.118 13.110 0.000
A 0.654 0.280 1.027 3.433 0.001
B 7.556 6.464 8.648 13.558 0.000
Standard errors: Cluster-robust, type = HC0