Dose-response
Outcome as a function of a continuous exposure, such as hospital volume.
What it is
Some questions are not about two groups but about a gradient: does mortality fall as hospital volume rises, and is the fall steady or does it level off? Each study then reports several exposure categories (for example, 1-10, 11-30 and more than 30 cases a year), each compared with the same reference category.
A study contributes a curve, not one number. Its estimates share the reference group, so they are correlated; the Greenland-Longnecker method rebuilds that correlation from the cases and totals in each category. Each category is represented by its midpoint.
The curves are pooled in two stages. A linear model gives the change in risk per unit of exposure; a restricted cubic spline lets the curve bend, and a Wald test of the spline terms says whether it departs from a straight line.
| Estimate | P or 95% CI | |
|---|---|---|
| Slope per case a year | −0.0102 | P = 0.011 |
| Non-linearity | spline terms | P = 0.32 |
| OR, 90th vs 10th percentile | 0.65 | 0.44-0.96 |
6 studies, 202,212 patients, from one of my reviews.
When to use it
Use it when
- The exposure is quantitative and has many levels: hospital or surgeon volume, drug dose, duration of treatment.
- Each study reports at least 3 exposure categories, with cases and totals (or person-time) in each.
- The question is about the shape of the relation, or about the effect at clinically meaningful levels of exposure.
Choose another tool when
- Studies only compare high with low exposure: use pairwise binary outcomes, knowing that the cut-offs differ between studies.
- The covariate is a study-level summary, such as the mean dose of each trial: use meta-regression.
- Category sizes cannot be reported or derived: the covariance cannot be reconstructed, and the study cannot enter the dose-response model.
The template, parameter by parameter
Click a highlighted argument to see what it does and which values to use. Picking a value updates the code.
# dat: one row per category; reference row has logrr = 0
lin <- dosresmeta(logrr ~ dose, id = id, se = se,
= "cc", cases = cases, n = n, data = dat,
= "gl", = "reml")
knots <- quantile(dat$dose, = c(0.10, 0.50, 0.90))
spl <- dosresmeta(logrr ~ rcs(dose, knots), id = id, se = se,
type = "cc", cases = cases, n = n, data = dat,
covariance = "gl", method = "reml")
# test for non-linearity
waldtest(b = coef(spl), Sigma = vcov(spl), Terms = 2)
# curve: see section 4
The dose-response curve, parameter by parameter
These arguments change only how the result is shown, not the result itself. Click one to see the options.
grid <- data.frame(dose = seq(0, = 110, by = 1))
pred <- cbind(grid, predict(spl, newdata = grid,
= 0, expo = TRUE))
ggplot(pred, aes(dose, pred)) +
geom_ribbon(aes(ymin = ci.lb, ymax = ci.ub),
= "grey90") +
geom_line(linewidth = 1) +
geom_hline(yintercept = 1, linetype = "dashed") +
labs(x = "Hospital volume (cases/year)", y = "Odds ratio")
How to read the results
The shape
- Look at the Wald test for non-linearity: a non-significant test favours the simpler linear model.
- Show both curves, linear and spline, so the reader sees how similar they are.
- Do not draw beyond the observed range of exposure.
The effect
- Report the slope per clinically meaningful unit (per 10 cases a year, per 1 mg/kg).
- Contrast fixed points, such as the 90th versus the 10th percentile, rather than arbitrary thresholds.
- A minimum of the curve near the edge of the data is not an optimal threshold.
Heterogeneity
- Dose-response models often show high heterogeneity: report it.
- Explore it with meta-regression of the study-specific slopes.
- Remember that categories and midpoints differ between studies, an extra source of error.
In my work
The main result of a published dose-response review, next to the calls behind it. Click the figure to enlarge it.
lin <- dosresmeta(logrr ~ dose, ...) # linear trend
spl <- dosresmeta(logrr ~ rcs(dose, knots),
...) # spline, 3 knots
waldtest(coef(spl), vcov(spl),
Terms = 2) # P = 0.32
pred <- predict(spl, newdata = grid,
xref = 0, expo = TRUE) # OR vs 0
References
- Greenland S, Longnecker MP. Methods for trend estimation from summarized dose-response data, with applications to meta-analysis. Am J Epidemiol. 1992;135:1301-1309.
- Orsini N, Li R, Wolk A, Khudyakov P, Spiegelman D. Meta-analysis for linear and nonlinear dose-response relations: examples, an evaluation of approximations, and software. Am J Epidemiol. 2012;175:66-73.
- Crippa A, Orsini N. Multivariate dose-response meta-analysis: the dosresmeta R package. J Stat Softw. 2016;72(Code Snippet 1):1-15.
- Hamling J, Lee P, Weitkunat R, Ambühl M. Facilitating meta-analyses by deriving relative effect and precision estimates for alternative comparisons from a set of estimates presented by exposure level or disease category. Stat Med. 2008;27:954-970.
- Harrell FE. Regression Modeling Strategies. 2nd ed. Springer; 2015.