# NOT RUN {
library(survival)
# Simulate data
n=200
s_Diff_Time = 1
D <- simJLSDdata(n, case="a")
# give regime classes
regimeClass.stg1 <- as.formula(a0~x0)
regimeClass.stg2 <- as.formula(a1~x1)
# extract columns that matches each stage's treatment regime formula
p.data1 <- model.matrix(regimeClass.stg1, D)
# p.data2 would only contain observations with non-null value.
p.data2 <- model.matrix(regimeClass.stg2, D)
txVec1 <- D[, "a0"]
txVec2 <- D[, "a1"]
# Eligibility flag
ELG <- (D$censor_y > s_Diff_Time)
# Build weights
D$deltaC <- 1 - D$delta
survfit_all <- survfit(Surv(censor_y, event = deltaC)~1, data=D)
survest <- stepfun(survfit_all$time, c(1, survfit_all$surv))
D$ghat <- survest(D$censor_y)
g_s_Diff_Time <- survest(s_Diff_Time)
D$w_di_vec <- rep(-999, n)
for(i in 1:n){
if (!ELG[i]) {
D$w_di_vec[i] <- 0.5 * D$ghat[i]} else {
D$w_di_vec[i] <- 0.5* D$ghat[i] * 0.5
}
}
# }
# NOT RUN {
# }
# NOT RUN {
fit1 <- Gene_Quantile_CenIPWE_DTR(data=D, max=TRUE,
tau=0.3,
regimeClass.stg1 = regimeClass.stg1,
regimeClass.stg2 = regimeClass.stg2,
s_Diff_Time = s_Diff_Time,
txVec1 = txVec1,
txVec2 = txVec2,
nvars.stg1=2,
nvars.stg2=2,
p.data1=p.data1,
p.data2=p.data2,
sign_beta1.stg1=FALSE,
sign_beta1.stg2=NULL,
p_level=1,
cluster=FALSE,
s.tol=1e-6,
it.num=5,
pop.size=6000,
Domains1 = NULL,
Domains2 = NULL,
Penalty.level = 0
)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab