Reports how strong an unmeasured confounder would have to be, on the risk-ratio scale, to fully explain away an observed association.
Input · what goes in
A point estimate (risk ratio, or converted OR/HR/standardized mean difference) and its confidence interval.
Show data format & exampleHide example
estimate | type | lo | hi
3.90 | RR | 1.80 | 8.50
0.80 | RR | 0.55 | 1.15
Pipeline · the recipe
↑ Click any step in the diagram to read its logic, code, assumptions & discussion.
Record the observed risk ratio and its confidence interval
Data preparation — shapes the raw inputs into what the estimator expects.
Start from a reported RR with its 95% confidence limits.
# Install: install.packages("EValue")
library(EValue)
RR <- 1.5
lo <- 1.2
hi <- 1.9
- No comments on this step yet — be the first.
Log in to comment on this step.
Compute the E-value for the estimate and CI
A robustness check — does the headline result survive a different lens?
evalues.RR returns the minimum confounder association needed to explain away the RR and its CI limit.
ev <- evalues.RR(est = RR, lo = lo, hi = hi)
ev
- No comments on this step yet — be the first.
Log in to comment on this step.
Interpret the E-values
Reporting — turn the numbers into a figure or table a reader can act on.
Read the point E-value and the CI-limit E-value to gauge robustness to unmeasured confounding.
cat("E-value (point):", round(ev["E-values", "point"], 3), "\n")
cat("E-value (CI): ", round(ev["E-values", "lower"], 3), "\n")
- No comments on this step yet — be the first.
Log in to comment on this step.
Output · what you get
Result figure rendered by StatsOtter from the package's documented example — unofficial community showcase; all credit to the original authors.
Result · the numbers
⚠️ Unofficial community showcase of EValue (docs). Not affiliated with the authors — all credit to Peng Ding & coauthors; this summarizes public documentation.
The E-value, from Ding & VanderWeele's assumption-free sensitivity analysis, quantifies robustness to unmeasured confounding without modeling the confounder. Given an observed risk ratio RR (adjusted for measured covariates), the bounding factor implies that a confounder associated with both treatment and outcome by risk ratios RR_EU and RR_UD can explain the result only if both exceed a threshold. The E-value is the smallest such mutual association strength: E = RR + sqrt(RR x (RR - 1)) (using max(RR, 1/RR)). A separate E-value bounds what is needed to shift the confidence interval to the null. Larger E-values mean an observed effect is more robust. The result is sharp and requires no assumptions on the confounder's distribution or its interactions—only that associations are on the risk-ratio scale (other effect measures are first converted to an approximate RR).
What you get — An E-value for the point estimate and an E-value for the CI limit nearest the null.
Example output
> evalues.RR(est = 1.5, lo = 1.2, hi = 1.9)
point lower hi
RR 1.500000 1.200000 NA
E-values 2.366432 1.689898 NA

Discussion (0)
Log in to join the discussion.