# \donttest{
n <- 1000
p <- 3
X <- matrix(rnorm(n * p), n, p) |> as.data.frame()
X_d <- data.frame(
X_d1 = factor(sample(1:3, n, replace = TRUE)),
X_d2 = factor(sample(1:3, n, replace = TRUE))
)
X_d <- DiscreteCovariatesToOneHot(X_d)
X <- cbind(X, X_d)
W <- rbinom(n, 1, 0.5)
event_prob <- 1 / (1 + exp(2 * (pmax(2 * X[, 1], 0) * W - X[, 2])))
Y <- rbinom(n, 1, event_prob)
cf <- grf::causal_forest(X, Y, W)
cate_surface <- CATESurface(
cf,
continuous_covariates = paste0("V", 1:2),
discrete_covariates = "X_d1",
grid = list(
V1 = 10,
V2 = -5:5
),
other_discrete = data.frame(
covs = "X_d2",
lvl = "4"
)
)
# }
Run the code above in your browser using DataLab