knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
rm(list=ls())
library(RobinCar)

References

Ting Ye, Jun Shao, Yanyao Yi, Qinyuan Zhao (2022+). Toward Better Practice of Covariate Adjustment in Analyzing Randomized Clinical Trials. Journal of the American Statistical Association, in press.

Ting Ye, Marlena Bannick, Yanyao Yi, Jun Shao (2023). Robust variance estimation for covariate-adjusted unconditional treatment effect in randomized clinical trials with binary outcomes. Statistical Theory and Related Fields, 7(2):159-163.

Marlena Bannick, Jun Shao, Jingyi Liu, Yu Du, Yanyao Yi, Ting Ye (2023+). A General Form of Covariate Adjustment in Randomized Clinical Trials.

Adjustment with Continuous Outcomes

The dataset that we will use for this is included in the package.

data <- RobinCar:::data_sim
data$A <- as.factor(data$A)

ANOVA Model

fit.anova <- robincar_linear(df = data, 
                              response_col="y",
                              treat_col="A",
                              covariate_cols=c("x1", "x3"),
                              car_scheme="simple",
                              adj_method="ANOVA")

ANCOVA model with biased coin randomization

fit.ancova <- robincar_linear(df = data, 
                               response_col="y",
                               treat_col="A",
                               car_strata_cols=c("z1", "z2"),
                               covariate_cols=c("x1", "x3"),
                               car_scheme="biased-coin",
                               adj_method="ANCOVA")

ANHECOVA model with Pocock-Simon randomization and linear contrast

Include strata variables in the covariates.

fit.anhecova <- robincar_linear(df = data, 
                                 response_col="y",
                                 treat_col="A",
                                 car_strata_cols=c("z1", "z2"),
                                 covariate_cols=c("x1", "x3", "z1", "z2"),
                                 car_scheme="pocock-simon",
                                 adj_method="ANHECOVA",
                                 contrast_h="diff")

Adjustment with Binary Outcomes

Dichotomize the continuous outcome.

data$y_bin <- ifelse(data$y > 2, 1, 0)

Homogeneous working model with simple randomization

glm.homogeneous<-robincar_glm(df = data,
                               response_col="y_bin",
                               treat_col="A",
                               car_strata_cols=c("z1"),
                               formula="y_bin ~ A",
                               car_scheme="pocock-simon",
                               g_family=binomial(link="logit"),
                               g_accuracy=7)
glm.homogeneous

Heterogeneous working model with permuted-block randomization, using one covariate

glm.heterogeneous<-robincar_glm(df = data,
                               response_col="y_bin",
                               treat_col="A",
                               car_strata_cols=c("z2"),
                               formula="y_bin ~ A * (x1 + z2)",
                               car_scheme="biased-coin",
                               g_family=binomial(link="logit"),
                               g_accuracy=7)

glm.heterogeneous

Heterogeneous working model with biased-coin randomization, differences contrast

glm.heterogeneous <- robincar_glm(df = data,
                                   response_col="y_bin",
                                   treat_col="A",
                                   car_strata_cols=c("z2"),
                                   formula="y_bin ~ A * (x1 + z2)",
                                   car_scheme="biased-coin",
                                   g_family=binomial(link="logit"),
                                   g_accuracy=7,
                                   contrast_h="diff")
glm.heterogeneous


tye27/RobinCar documentation built on June 13, 2025, 7:04 p.m.