## ----setup, include = FALSE--------------------------------------------------- has_sm <- requireNamespace("sensemakr", quietly = TRUE) has_kf <- requireNamespace("konfound", quietly = TRUE) has_ev <- requireNamespace("EValue", quietly = TRUE) knitr::opts_chunk$set(collapse = TRUE, comment = "#>", fig.width = 6.5, fig.height = 4, eval = has_sm) ## ----eval = !has_sm, echo = FALSE, results = "asis"--------------------------- # cat("*This vignette needs the 'sensemakr' package for the example data;", # "install it to see the output.*") ## ----model-------------------------------------------------------------------- library(confoundvis) data("darfur", package = "sensemakr") fit <- lm(peacefactor ~ directlyharmed + age + farmer_dar + herder_dar + pastvoted + hhsize_darfur + female + village, data = darfur) coef(summary(fit))["directlyharmed", ] ## ----path-r2------------------------------------------------------------------ p_r2 <- sens_path_lm(fit, treatment = "directlyharmed", lambda = seq(0, 0.3, by = 0.001)) p_r2 ## ----path-itcv---------------------------------------------------------------- it <- itcv_lm(fit, treatment = "directlyharmed", lambda = seq(0, 0.3, by = 0.001)) c(r = it$r, r_crit = it$r_crit, ITCV = it$itcv, ITCV_unconditional = it$itcv_unconditional) ## ----curve-r2----------------------------------------------------------------- plot_robustness_curve(p_r2, points = FALSE) ## ----curve-itcv--------------------------------------------------------------- plot_robustness_curve(it$path, points = FALSE) ## ----impacts------------------------------------------------------------------ imp <- covariate_impacts(fit, "directlyharmed", metric = "partial_r2") imp[order(-imp$impact), c("covariate", "term_df", "r2dz.x", "r2yz.dx", "bias_index")] ## ----love--------------------------------------------------------------------- plot_sensitivity_love(imp) ## ----love-itcv---------------------------------------------------------------- imp_it <- covariate_impacts(fit, "directlyharmed", metric = "itcv") plot_sensitivity_love(imp_it) ## ----contour------------------------------------------------------------------ plot_sensitivity_contour(attr(imp_it, "threshold"), benchmarks = imp_it[!is.na(imp_it$r_yu), ]) ## ----report------------------------------------------------------------------- sens_report(p_r2) sens_report(it$path) ## ----sensemakr---------------------------------------------------------------- s <- sensemakr::sensemakr(fit, treatment = "directlyharmed", benchmark_covariates = "female", kd = 1:3) p_sm <- from_sensemakr(s, lambda = seq(0, 0.3, by = 0.001)) robustness_points(p_sm) unlist(s$sensitivity_stats[c("rv_q", "rv_qa")]) ## ----konfound, eval = has_sm && has_kf---------------------------------------- k <- suppressWarnings(suppressMessages( konfound::konfound(fit, directlyharmed, to_return = "raw_output"))) p_kf <- from_konfound(k, lambda = seq(0, 0.3, by = 0.001)) c(confoundvis = it$itcv, konfound_itcvGz = k$itcvGz) ## ----evalue, eval = has_ev---------------------------------------------------- e <- EValue::evalues.RR(est = 1.8, lo = 1.3, hi = 2.5) p_ev <- from_evalue(e, lambda = seq(1, 4, by = 0.01)) plot_robustness_curve(p_ev, points = FALSE)