--- title: "Getting started with causalfrag" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Getting started with causalfrag} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ## Overview `causalfrag` provides an AI-assisted interpretation and reporting layer over established sensitivity analysis tools for unmeasured confounding in observational studies. > **Important**: Statistical results are always computed by transparent R > functions. The LLM assists only in translating those outputs into plain > language. The package works fully **offline without an API key**. ## Basic workflow ```{r basic, eval = FALSE} library(causalfrag) # 1. Fit your model fit <- lm(mpg ~ am + wt + hp, data = mtcars) # 2. Run the full sensitivity pipeline result <- sens_report( model = fit, treatment = "am", data = mtcars ) # 3. Print the structured results + fragility flag print(result) # 4. Access the plain-language narrative cat(result$narrative) ``` ## Step by step You can also run each step individually: ```{r stepwise, eval = FALSE} library(causalfrag) fit <- lm(mpg ~ am + wt + hp, data = mtcars) # Step 1: detect the design design <- detect_design(fit) # Step 2: run sensitivity analysis res <- run_sensitivity(fit, treatment = "am", data = mtcars, design = design) # Step 3: flag fragility res <- flag_fragility(res) # Step 4: interpret (uses LLM if configured, template otherwise) res <- interpret_sensitivity(res) # Step 5: visualize (uses confoundvis if installed) plot(res) # Step 6: generate a report paragraph cat(generate_report(res)) ``` ## Configuring an LLM provider By default the package uses template-based narratives. To enable AI-assisted interpretation, configure a provider once per session: ```{r llm, eval = FALSE} # Anthropic (key from ANTHROPIC_API_KEY environment variable) use_llm_provider("anthropic") # OpenAI use_llm_provider("openai") # Disable explicitly use_llm_provider("none") ``` ## Relationship to confoundvis `confoundvis` (Hait, 2026) provides visualization tools for sensitivity analysis. `causalfrag` provides an AI-assisted interpretation and reporting layer that can optionally use `confoundvis` graphics as part of a broader causal sensitivity workflow. ```{r confoundvis, eval = FALSE} # Visualize with confoundvis (if installed) visualize_sensitivity(res, engine = "confoundvis") ``` ## References Frank, K. A. (2000). Impact of a confounding variable on the inference of a regression coefficient. *Sociological Methods & Research*, 29(2), 147--194. Cinelli, C., & Hazlett, C. (2020). Making sense of sensitivity: Extending omitted variable bias. *Journal of the Royal Statistical Society: Series B*, 82(1), 39--67. VanderWeele, T. J., & Ding, P. (2017). Sensitivity analysis in observational research: Introducing the E-value. *Annals of Internal Medicine*, 167(4), 268--274. Hait, S. (2026). confoundvis: Visualization tools for sensitivity analysis of unmeasured confounding. R package version 0.1.0.