Post-baseline Prognostic Factor Adjusted Per Protocol Estimation

Post-baseline prognostic factor 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_{L} L + \gamma_{t} t\]

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

LAdjPPFit <- glm(Y ~ t0 + A + L1 + L2, data = 
                   simulated.data.combined, 
                 family = binomial(link="logit"))
LAdjPPFit
## 
## Call:  glm(formula = Y ~ t0 + A + L1 + L2, family = binomial(link = "logit"), 
##     data = simulated.data.combined)
## 
## Coefficients:
## (Intercept)           t0            A           L1           L2  
##   -13.30911      0.09248      1.78801      0.22582      1.55136  
## 
## Degrees of Freedom: 99371 Total (i.e. Null);  99367 Residual
## Null Deviance:       2365 
## Residual Deviance: 1921  AIC: 1931

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

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

cat("Post-baseline prognostic factor adjusted PP effect estimate:", "\n",
        "log(OR)", round(coefficients(LAdjPPFit)[["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))
## Post-baseline prognostic factor adjusted PP effect estimate: 
##  log(OR) 1.788 
##  95% CI: 1.429 , 2.147 
##  p-value 0 
##  robust standard error 0.183

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

summ(LAdjPPFit, robust = "HC0", 
     confint = TRUE, digits = 3, cluster="id", 
     model.info = FALSE, model.fit = FALSE)
Est. 2.5% 97.5% z val. p
(Intercept) -13.309 -14.289 -12.329 -26.610 0.000
t0 0.092 0.078 0.107 12.238 0.000
A 1.788 1.405 2.171 9.141 0.000
L1 0.226 0.158 0.294 6.521 0.000
L2 1.551 0.961 2.142 5.152 0.000
Standard errors: Cluster-robust, type = HC0