Nothing
## ----setup, include=F, linewidth=60-------------------------------------------
# github_document
# html_document
# word_document
# pdf_document
library(knitr)
knitr::opts_chunk$set(echo = TRUE,
fig.path = "inst/",
comment = "#>")
hook_output = knit_hooks$get('output')
knit_hooks$set(output = function(x, options) {
# this hook is used only when the linewidth option is not NULL
if (!is.null(n <- options$linewidth)) {
x = knitr:::split_lines(x)
# any lines wider than n should be wrapped
if (any(nchar(x) > n)) x = strwrap(x, width = n)
x = paste(x, collapse = '\n')
}
hook_output(x, options)
})
time = Sys.time()
## ---- begin, message=F, linewidth=60------------------------------------------
library(OVtool)
## ---- data--------------------------------------------------------------------
set.seed(24)
data(sud); sud = data.frame(sud)
sud$treat = ifelse(sud$treat == "A", 1, 0)
## ---- estTWANG, message=F, linewidth=60---------------------------------------
## Create Formula
my_formula = as.formula(treat ~ eps7p_0 + sfs8p_0 + sati_0 + ada_0 + recov_0 +
tss_0 + dss9_0)
## Get weights
# library(twang)
ps.twang <- twang::ps(my_formula, data = sud, estimand = 'ATE', booster = "gbm",
stop.method = "ks.max", verbose=F, ks.exact = T)
## ---- balance, message=F------------------------------------------------------
# Check Balance
twang::bal.table(ps.twang)
## ---- getweights, message=F, linewidth=60-------------------------------------
# Get weights (not needed if user inserts a ps object in OVtool::outcome_model)
sud$w_twang = ps.twang$w$ks.max.ATE
## ---- outcomemodel------------------------------------------------------------
# Run Models -- first standardize outcome
sud$eps7p_3_std = sud$eps7p_3/sd(sud$eps7p_3)
# Run outcome model (function in OVtool that calls svyglm from survey)
results = outcome_model(ps_object = NULL,
stop.method = NULL,
data = sud,
weights = "w_twang",
treatment = "treat",
outcome = "eps7p_3_std",
model_covariates = c("eps7p_0", "sfs8p_0",
"sati_0", "ada_0",
"recov_0", "tss_0",
"dss9_0"),
estimand = "ATE")
summary(results$mod_results)
## ---- ov_sim, linewidth=60, eval=F--------------------------------------------
# # Run OVtool (with weights (not a ps object))
# ovtool_results_twang = ov_sim(model_results=results,
# plot_covariates=c("eps7p_0", "sfs8p_0",
# "sati_0", "ada_0",
# "recov_0", "tss_0",
# "dss9_0"),
# es_grid = NULL,
# rho_grid = seq(0, 0.40, by = 0.05),
# n_reps = 50,
# progress = TRUE,
# add = FALSE,
# sim_archive = NULL)
## ---- ov_sim_output, linewidth=60, echo=F-------------------------------------
# save(ovtool_results_twang, file = "vignettes/ATE_ovtool.rda", version = 2)
load("ATE_ovtool.rda")
## ---- fig1, fig.width=10, fig.height=7, fig.align='center', warning=F, linewidth=60----
plot.ov(ovtool_results_twang, print_graphic = "1", col = "bw")
## ---- fig2, fig.width=10, fig.height=7, fig.align='center', linewidth=60------
plot.ov(ovtool_results_twang, print_graphic = "2", col = "color")
## ---- fig3, fig.width=10, fig.height=7, fig.align='center', linewidth=60------
plot.ov(ovtool_results_twang, print_graphic = "3", col = "color")
## ---- addreps, linewidth=60---------------------------------------------------
# If you want to add repetitions, run the following line.
# ovtool_results_twang = add_reps(OVtool_results = ovtool_results_twang,
# model_results = results,
# more_reps = 30)
#
# Recreate Graphic
# plot.ov(ovtool_results_twang, print_graphic = "1", col = "bw")
## ---- summary`, linewidth=60--------------------------------------------------
summary.ov(object = ovtool_results_twang, model_results = results)
## ---- ATT---------------------------------------------------------------------
## Create formula - here we use same formula as in the ATE case.
my_formula = as.formula(treat ~ eps7p_0 + sfs8p_0 + sati_0 + ada_0 + recov_0 +
tss_0 + dss9_0)
# Propensity score weights:
ps.twang_att <- twang::ps(my_formula, data = sud, estimand = 'ATT',
booster = "gbm", stop.method = "ks.max",
verbose=F, ks.exact = T)
twang::bal.table(ps.twang_att)
## ---- outcome_att-------------------------------------------------------------
results_att = outcome_model(ps_object = ps.twang_att,
stop.method = "ks.max",
data = sud,
weights = NULL,
treatment = "treat",
outcome = "eps7p_3_std",
model_covariates = c("eps7p_0", "sfs8p_0",
"sati_0", "ada_0",
"recov_0", "tss_0",
"mhtrt_0", "dss9_0"),
estimand = "ATT")
summary(results_att$mod_results)
## ---- ovsim_att, linewidth=60, eval=F-----------------------------------------
# ovtool_results_twang_att = ov_sim(model_results=results_att,
# plot_covariates=c("eps7p_0", "sfs8p_0",
# "sati_0", "ada_0",
# "recov_0", "tss_0",
# "dss9_0"),
# es_grid = NULL,
# rho_grid = seq(0, 0.40, by = 0.05),
# n_reps = 50,
# progress = TRUE)
## ---- ovsim_att_output, linewidth=60, echo=F----------------------------------
# save(ovtool_results_twang_att, file = "vignettes/ATT_ovtool.rda", version = 2)
load("ATT_ovtool.rda")
## ---- fig1_att, fig.width=10, fig.height=7, fig.align='center', warning=F, linewidth=60----
plot.ov(ovtool_results_twang_att, print_graphic = "1", col = "bw")
## ---- addreps_att, linewidth=60, eval=F---------------------------------------
# # If you want to add repetitions, run the following line.
# ovtool_results_twang_att = add_reps(OVtool_results = ovtool_results_twang_att,
# model_results = results_att,
# more_reps = 10)
## ---- addreps_att_output, linewidth=60, echo=F--------------------------------
# save(ovtool_results_twang_att, file = "vignettes/ATT_ovtool2.rda", version = 2)
load("ATT_ovtool2.rda")
## ---- fig2_att_new, fig.width=10, fig.height=7, fig.align='center', warning=F, linewidth=60----
plot.ov(ovtool_results_twang_att, print_graphic = "1", col = "bw")
## ---- fig2_att, fig.width=10, fig.height=7, fig.align='center', warning=F, linewidth=60----
plot.ov(ovtool_results_twang_att, print_graphic = "2", col = "color")
## ---- fig3_att, fig.width=10, fig.height=7, fig.align='center', warning=F, linewidth=60----
plot.ov(ovtool_results_twang_att, print_graphic = "3", col = "color")
## ---- summary_att, linewidth=60-----------------------------------------------
summary.ov(object = ovtool_results_twang_att, model_results = results_att)
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.