Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
fig.width = 6,
comment = "#>"#,
# cache=TRUE
)
## ---- eval = FALSE------------------------------------------------------------
# install.packages("remotes")
# remotes::install_github("yqzhong7/AIPW")
## ---- eval = FALSE------------------------------------------------------------
# #SuperLearner
# install.packages("SuperLearner")
# #sl3
# remotes::install_github("tlverse/sl3")
# install.packages("Rsolnp")
## ----example data-------------------------------------------------------------
library(AIPW)
library(SuperLearner)
library(ggplot2)
set.seed(123)
data("eager_sim_obs")
cov = c("eligibility","loss_num","age", "time_try_pregnant","BMI","meanAP")
## ----one_line-----------------------------------------------------------------
AIPW_SL <- AIPW$new(Y= eager_sim_obs$sim_Y,
A= eager_sim_obs$sim_A,
W= subset(eager_sim_obs,select=cov),
Q.SL.library = c("SL.mean","SL.glm"),
g.SL.library = c("SL.mean","SL.glm"),
k_split = 10,
verbose=FALSE)$
fit()$
#Default truncation is set to 0.025; using 0.25 here is for illustrative purposes and not recommended
summary(g.bound = c(0.25,0.75))$
plot.p_score()$
plot.ip_weights()
## ----SuperLearner, message=FALSE,eval=F---------------------------------------
# library(AIPW)
# library(SuperLearner)
#
# #SuperLearner libraries for outcome (Q) and exposure models (g)
# sl.lib <- c("SL.mean","SL.glm")
#
# #construct an aipw object for later estimations
# AIPW_SL <- AIPW$new(Y= eager_sim_obs$sim_Y,
# A= eager_sim_obs$sim_A,
# W= subset(eager_sim_obs,select=cov),
# Q.SL.library = sl.lib,
# g.SL.library = sl.lib,
# k_split = 10,
# verbose=FALSE)
## -----------------------------------------------------------------------------
#fit the AIPW_SL object
AIPW_SL$fit()
# or you can use stratified_fit
# AIPW_SL$stratified_fit()
## -----------------------------------------------------------------------------
#estimate the average causal effects from the fitted AIPW_SL object
AIPW_SL$summary(g.bound = 0.25) #propensity score truncation
## ----ps_trunc-----------------------------------------------------------------
library(ggplot2)
AIPW_SL$plot.p_score()
AIPW_SL$plot.ip_weights()
## -----------------------------------------------------------------------------
suppressWarnings({
AIPW_SL$stratified_fit()$summary()
})
## ----parallel, eval=FALSE-----------------------------------------------------
# # install.packages("future.apply")
# library(future.apply)
# plan(multiprocess, workers=2, gc=T)
# set.seed(888)
# AIPW_SL <- AIPW$new(Y= eager_sim_obs$sim_Y,
# A= eager_sim_obs$sim_A,
# W= subset(eager_sim_obs,select=cov),
# Q.SL.library = sl3.lib,
# g.SL.library = sl3.lib,
# k_split = 10,
# verbose=FALSE)$fit()$summary()
## ----tmle, eval=F-------------------------------------------------------------
# # install.packages("tmle")
# library(tmle)
# library(SuperLearner)
#
# tmle_fit <- tmle(Y=eager_sim_obs$sim_Y,
# A=eager_sim_obs$sim_A,
# W=eager_sim_obs[,-1:-2],
# Q.SL.library=c("SL.mean","SL.glm"),
# g.SL.library=c("SL.mean","SL.glm"),
# family="binomial",
# cvQinit = TRUE)
#
# cat("\nEstimates from TMLE\n")
# unlist(tmle_fit$estimates$ATE)
# unlist(tmle_fit$estimates$RR)
# unlist(tmle_fit$estimates$OR)
#
# cat("\nEstimates from AIPW\n")
# a_tmle <- AIPW_tmle$
# new(A=eager_sim_obs$sim_A,Y=eager_sim_obs$sim_Y,tmle_fit = tmle_fit,verbose = TRUE)$
# summary(g.bound=0.025)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.