Nothing
library(survival)
library(dplyr)
test_that("No X no Z case under SR, CL = logrank test", {
set.seed(0)
n <- 100
data.simu0 <- data_gen(
n=n,
theta=0,
randomization="permuted_block",
p_trt=0.5,
case="case2"
)
data.simu0 <- data.simu0 %>% mutate(
strata1=sample(letters[1:3],n,replace=TRUE),
strata2=sample(LETTERS[4:5],n,replace=TRUE)
)
out <- robincar_logrank(df=data.simu0,
treat_col="I1",
p_trt=0.5,
ref_arm=0,
response_col="t",
event_col="delta",
car_scheme=c("simple"),
adj_method=c("CL")
)
surv_out <- coxph(Surv(t, delta) ~ I1, data = data.simu0)
surv_out.score <-
sqrt(surv_out$score) * ifelse(surv_out$coefficients > 0, 1, -1)
expect_equal(out$result$statistic, unname(surv_out.score))
})
test_that("No X yes Z case under CAR, CSL = stratified logrank test",{
set.seed(0)
n <- 100
data.simu0 <- data_gen(
n=n,
theta=0,
randomization="permuted_block",
p_trt=0.5,
case="case1"
)
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, .)
out1 <- robincar_logrank(
df=data.simu,
treat_col="I1",
p_trt=0.5,
ref_arm=0,
response_col="t",
event_col="delta",
car_strata_cols=c("strt"),
car_scheme=c("permuted-block"),
adj_method=c("CSL")
)
surv_out1 <- coxph(Surv(t, delta) ~ I1 + strata(strt), data = data.simu)
surv_out.score1 <- sqrt(surv_out1$score) *
ifelse(surv_out1$coefficients > 0, 1, -1)
expect_equal(out1$result$statistic, unname(surv_out.score1))
})
test_that("X yes Z yes, case1, CL",{
set.seed(0)
n <- 100
data.simu0 <- data_gen(
n=n,
theta=0,
randomization="permuted_block",
p_trt=0.5,
case="case1"
)
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, .)
test1 <- robincar_logrank(
df=data.simu,
treat_col="I1",
response_col="t",
event_col="delta",
car_strata_cols=c("strt"),
covariate_cols=c("model_Z1", "model_Z21", "model_Z22"),
car_scheme="permuted-block",
adj_method=c("CL"),
ref_arm=0
)
test1_ty <- covariate_adjusted_logrank(data.simu, p_trt = 0.5)
expect_equal(test1$result$U, test1_ty$U_CL)
expect_equal(test1$result$se, as.numeric(test1_ty$se))
data.simu01 <- data_gen2(
n=n,
theta=0,
randomization="permuted_block",
p_trt=0.5,
case="case1"
)
data.simu1 <- data.simu01 %>%
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.simu01, .)
test12 <- robincar_logrank(
df=data.simu1,
treat_col="I1",
response_col="t",
event_col="delta",
car_strata_cols=c("strt"),
covariate_cols=c("model_w3"),
car_scheme="permuted-block",
adj_method=c("CL"),
ref_arm=0
)
test12_ty <- covariate_adjusted_logrank(data.simu1, p_trt = 0.5)
expect_equal(test12$result$U, test12_ty$U_CL)
expect_equal(test12$result$se, as.numeric(test12_ty$se))
})
test_that("X (continuous) yes Z no, case1, CL",{
set.seed(0)
n <- 100
data.simu01 <- data_gen2(
n=n,
theta=0,
randomization="SR",
p_trt=0.5,
case="case1"
)
# Add another continuous covariate because Ting's code requires
data.simu1 <- data.simu01 %>%
dplyr::mutate(strt=0)
test12 <- robincar_logrank(
df=data.simu1,
treat_col="I1",
response_col="t",
event_col="delta",
covariate_cols=c("model_w3"),
car_scheme="simple",
adj_method=c("CL"),
ref_arm=0
)
# Using the function with no Z, modified version of Ting's original code
test12_ty <- covariate_adjusted_logrank(data.simu1, p_trt = 0.5, Z=FALSE)
expect_equal(test12$result$U, test12_ty$U_CL)
expect_equal(test12$result$se, as.numeric(test12_ty$se))
})
test_that("X yes Z yes, case1, CSL",{
set.seed(100)
n <- 100
data.simu01 <- data_gen2(
n=n,
theta=0,
randomization="permuted_block",
p_trt=0.5,
case="case1"
)
data.simu1 <-
data.simu01 %>% tidyr::pivot_longer(
cols=starts_with("car_strata"),
names_prefix="car_strata",
names_to="strt"
) %>%
dplyr::filter(value == 1) %>% select(-value) %>%
dplyr::mutate(strt=forcats::as_factor(strt)) %>% select(t, strt) %>%
dplyr::left_join(data.simu01, .)
test12 <- robincar_logrank(
df=data.simu1,
treat_col="I1",
response_col="t",
event_col="delta",
car_strata_cols="strt",
covariate_cols=c("model_w3"),
car_scheme="permuted-block",
adj_method=c("CSL"),
ref_arm=0
)
test12_ty <- covariate_adjusted_stratified_logrank(data.simu1, p_trt=0.5)
expect_equal(test12$result$U, test12_ty$U_CSL)
expect_equal(test12$result$se, as.numeric(test12_ty$se))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.