set.seed(120)
alpha0 <- 0.1;
n <- 400;
p0 <- ceiling(n * alpha0)
beta0_full <- 1 / (1:p0) ^ (1 / 2) * (-1) ^ c(1:p0)
beta <- beta0_full / norm(beta0_full,type='2')
Sigma_true <- matrix(0, nrow = p0, ncol = p0)
for (i in 1:p0) {
for (j in 1:p0) {
Sigma_true[i, j] <- 0.1 ** (abs(i - j))
}
}
X <- mvtnorm::rmvt(n, sigma = Sigma_true, df = 3)
lp0 <- X %*% beta
delta_X <- 1 - 1/4 * X[, 2] - 1/8 * X[, 3]
lp1 <- lp0 + delta_X
Y0 <- lp0 + rnorm(n)
Y1 <- lp1 + rnorm(n)
pi1 <- 1 / 2
A <- rbinom(n, size = 1, prob = pi1)
Y <- A * Y1 + (1 - A) * Y0
Xc <- cbind(1, scale(X, scale = FALSE))
result.adj2.adj2c.sp.ate.ls <- fit.adj2.adj2c.Super(Y, Xc, A, intercept = TRUE,
target = 'ATE', lc = TRUE)
result.adj2.adj2c.sp.ate.ls
result.adj2.adj2c.sp.treat.ls <- fit.adj2.adj2c.Super(Y, Xc, A, intercept = TRUE,
target = 'EY1', lc = TRUE)
result.adj2.adj2c.sp.treat.ls
result.adj2.adj2c.sp.control.ls <- fit.adj2.adj2c.Super(Y, Xc, A, intercept = TRUE,
target = 'EY0', lc = TRUE)
result.adj2.adj2c.sp.control.ls
Run the code above in your browser using DataLab