# simulate data
set.seed(11249)
n_obs <- 50
W1 <- rbinom(n_obs, 1, 0.6)
W2 <- rbinom(n_obs, 1, 0.2)
W3 <- rpois(n_obs, 3)
A <- rpois(n_obs, 3 * W1 - W2 + 2 * W1 * W2 + 4)
Y <- rbinom(n_obs, 1, plogis(A + W1 + W2 - W3 - W1 * W3))
# fit the IPW estimator
est_ipw <- ipw_shift(
W = cbind(W1, W2, W3), A = A, Y = Y,
delta = 0.5, cv_folds = 3L,
n_bins = 4L, bin_type = "equal_range",
lambda_seq = exp(seq(-1, -10, length = 100L)),
# arguments passed to hal9001::fit_hal()
max_degree = 1L,
smoothness_orders = 0,
reduce_basis = 1 / sqrt(n_obs)
)
Run the code above in your browser using DataLab