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

References

Ting Ye, Jun Shao, Yanyao Yi. Covariate-Adjusted Log-Rank Test: Guaranteed Efficiency Gain and Universal Applicability.

Robust Cox Score

Simulate data

Simulate data with permuted block randomization scheme using helper functions.

set.seed(10)
n <- 100

# Simulate data
data.simu0 <- data_gen2(
  n=n,
  theta=0,
  randomization="permuted_block",
  p_trt=0.5,
  case="case1"
)

# Restructure data
data.simu <- data.simu0 %>%
  tidyr::pivot_longer(
    cols=starts_with("car_strata"),
    names_prefix="car_strata",
    names_to="strt"
  ) %>%
  dplyr::filter(value == 1) %>%
  dplyr::select(-value) %>%
  dplyr::mutate(strt=forcats::as_factor(strt)) %>%
  dplyr::select(t, strt) %>%
  dplyr::left_join(data.simu0, .)

Fit a Cox score model

cox <- robincar_coxscore(
  df=data.simu,
  treat_col="I1",
  response_col="t",
  event_col="delta",
  car_strata_cols="strt",
  covariate_cols=c("model_w3"),
  car_scheme="permuted-block",
  ref_arm=0
)
print(cox)

Fit a covariate-adjusted (stratified) logrank test

Use adj_method = "CL" for covariate-adjusted logrank test.

cl <- robincar_logrank(
  df=data.simu,
  treat_col="I1",
  response_col="t",
  event_col="delta",
  car_strata_cols="strt",
  covariate_cols=c("model_w3"),
  car_scheme="permuted-block",
  adj_method="CL",
  ref_arm=0
)
print(cl)

Use adj_method = "CSL" for covariate-adjusted stratified logrank test.

csl <- robincar_logrank(
  df=data.simu,
  treat_col="I1",
  response_col="t",
  event_col="delta",
  car_strata_cols="strt",
  covariate_cols=c("model_w3"),
  car_scheme="permuted-block",
  adj_method="CSL",
  ref_arm=0
)
print(csl)


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