Description
Transporting Intervention Effects from One Population to Another.
Description
Doubly-robust, non-parametric estimators for the transported average treatment effect from Rudolph, Williams, Stuart, and Diaz (2023) <doi:10.48550/arXiv.2304.00117> and the intent-to-treatment average treatment effect from Rudolph and van der Laan (2017) <doi:10.1111/rssb.12213>. Estimators are fit using cross-fitting and nuisance parameters are estimated using the Super Learner algorithm.
README.md
transportr
Installation
You can install the development version of transport from GitHub with:
# install.packages("pak")
pak::pak("nt-williams/transportr")
Example
library(transportr)
gendata <- function(n, A = NULL) {
W <- rbinom(n, 1, 0.5)
V <- rbinom(n, 1, 0.66)
Z <- rbinom(n, 1, 0.33)
if (is.null(A)) A <- rbinom(n, 1, 0.5)
S <- rbinom(n, 1, 0.4 + 0.5*W - 0.3*Z)
Yi <- rnorm(n, A + W + A*V + 2.5*A*Z, sqrt((0.1 + 0.8*W)^2))
Y <- ifelse(S == 1, Yi, NA_real_)
data.frame(W = W,
V = V,
Z = Z,
S = S,
A = A,
Y = Y,
Yi = Yi)
}
set.seed(123)
n <- 250
tmp <- gendata(n)
transport_ate(data = tmp,
trt = "A",
outcome = "Y",
covar = c("W", "V", "Z"),
pop = "S",
estimator = "collaborative",
folds = 1)
#> ══ Results from `transport_ate()` ═══════════════════════════════════════════════════════════════
#>
#> Estimate: 3.33
#> Std. error: 0.26
#> 95% Conf. int.: 2.81, 3.84