# NOT RUN {
#simulate a dataset under marginal hazard ratio 1.5 with clustering
set.seed(100)
n=300
oneGene<-function(id){
tau=0.7
alpha=(1/tau-1)/2
u1=runif(1)
u2=runif(1)
af=(1-u2)^(-1/alpha)
T0v1=-log(1-u2)
T0v2=alpha*log((1-af)+af*((1-u1)^(-1/(1+alpha))))
T0=c(T0v1,T0v2)
ZZZ=rep(rnorm(1),2)
X1before= 0.5*(T0+0.2)/(T0+1)+0.3*ZZZ
X1=mean(X1before)
X2= 1/log(1.3*T0+3)-0.3*ZZZ
X3= rbinom(2,1,0.3+0.5/(T0+1))
A=rbinom(2,1,1/(1+exp(1-2*X1-X2-X3)))
Ttime <- T0*exp(-log(1.5)*A)
rateC=0.5
C <- rexp(2, rate=rateC)
time <- pmin(Ttime, C)
status <- as.numeric(Ttime <= C)
cbind(id=id,time=time,status=status,A=A,X1=X1,X2=X2,X3=X3)
}
da=as.data.frame(do.call("rbind",lapply(1:n,oneGene)))
head(da)
#inference results for marginal hazard ratio
ipwCoxCluster(data=da,indID="id",indA="A",indX=c("X1","X2","X3"),indStatus="status",indTime="time")
# }
Run the code above in your browser using DataLab