September 22, 2016

Outline

  • Relevance and usage

  • Background and rationale

  • Statistical methodology

  • Interactive web-app

  • References

Relevance and usage

Dose-response meta-analysis

Derive a dose-response curve from published results of multiple studies on the relation between a quantitative exposure (e.g. number of cigarettes, diet) and the occurrence of a health outcome (e.g. mortality risk, incidence of a disease)

Research questions:

  • Is there any association? What is the shape of the association?
  • What are the exposure values associated with the best or worst outcome?
  • What are the factors that can influence the dose–response shape?

Increasing number of publications

Relevance

  • Several fields of application (oncology, environmental and occupational health, nutrition epidemiology, endocrinology, and general internal medicine)

  • Many leading medical and epidemiological journals (JAMA, Lancet, Stroke, Gastroenterology, American J of Medicine, American J of Clinical Nutrition, American J Epidemiology, International J Epidemiology, International J of Cancer, Statistics in Medicine)

  • Global health organizations and foundations (World Cancer Research Fund, American Institute for Cancer Research, International Agency for Research on Cancer

  • Measures of public health impact (burden of mortality, attributable fractions)

Ongoing collaborations

  • Donna Spiegelman, Professor at Harvard T.H. Chan School of Public Health, Boston

  • Stefan Leucht, Professor at Technische Universität München, Munich

  • James Woodcock, Senior Research Associate at University of Cambridge School of Clinical Medicine, Cambridge

  • Emir Veledar, Center for Healthcare Advancement and Outcomes, Baptist Health South Florida, Miami

  • Marco Vinceti, member of the European Food Safety Authority, Panel on Dietetics Products

  • Kristina Thayer, Deputy Director for Analysis, Division of the Search Results National Institute of Environmental Health Sciences

Background and rationale

Motivating example

If any, what is the dose-response association between coffee consumption and all-cause mortality?

# devtools::install_github("alecri/dosresmeta")
library(dosresmeta)
coffee <- get(data(coffee_mort))
head(coffee, n = 10)
##    id           author year type dose cases    n   logrr    se gender   area
## 1   1   LeGrady et al. 1987   ci  0.5    57  249  0.0000 0.000      M    USA
## 2   1   LeGrady et al. 1987   ci  2.5   136  655 -0.2877 0.139      M    USA
## 3   1   LeGrady et al. 1987   ci  4.5   144  619 -0.1744 0.137      M    USA
## 4   1   LeGrady et al. 1987   ci  6.5   115  387  0.0862 0.140      M    USA
## 5   2 Rosengren et al. 1991   ci  0.0    17  192  0.0000 0.000      M Europe
## 6   2 Rosengren et al. 1991   ci  1.5    88 1121 -0.1204 0.253      M Europe
## 7   2 Rosengren et al. 1991   ci  3.5   155 2464 -0.3418 0.244      M Europe
## 8   2 Rosengren et al. 1991   ci  5.5   155 1986 -0.1262 0.244      M Europe
## 9   2 Rosengren et al. 1991   ci  7.5    39  575 -0.2665 0.278      M Europe
## 10  2 Rosengren et al. 1991   ci  9.5    24  427 -0.5108 0.280      M Europe

Example individual data (1 study)

Relation between weight change and risk of hyponatremia among runners of a Boston marathon. The exposure (wtdiff) is continuous

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    -7.0    -1.8    -0.7    -0.7     0.5     4.1      33

but it is often categorized (wtdiffcat)

table(hypo$wtdiffcat)
## 
##   [-7,-1.5) [-1.5,-0.5)  [-0.5,0.5)     [0.5,3)       [3,5) 
##         126         125         111          85           7

And included in the model as dummy variables.

model <- glm(nas135 ~ wtdiffcat + bmi + female + runtime + age + urinat3p, 
             data = hypo, family = "binomial")

Aggregated data

The results are presented in a tabular way

##     wtdiffcat    dose cases   n    rr    lb    ub logrr    se
## 1   [-7,-1.5) -2.5353     3  97  1.00    NA    NA 0.000    NA
## 2 [-1.5,-0.5) -1.0162     8 100  2.53 0.633  10.1 0.929 0.707
## 3  [-0.5,0.5) -0.0182     9  96  2.98 0.764  11.6 1.093 0.695
## 4     [0.5,3)  1.3870    24  71 13.05 3.584  47.5 2.569 0.660
## 5       [3,5)  3.4612     4   6 82.16 9.173 735.8 4.409 1.119
  • Observations are not independent (share reference category)

  • The RR in the referent is 1

A linear trend is seldom reported

lin_ipd <- glm(nas135 ~ wtdiff + bmi + female + runtime + age + urinat3p, 
               data = hypo, family = "binomial")
ci.exp(lin_ipd, subset = "wtdiff")
##        exp(Est.) 2.5% 97.5%
## wtdiff      2.02 1.59  2.57

Statistical methodology

Two-stage dose-response meta-analysis: 1st stage

Log-linear model:

\[ y = X \beta + \epsilon \]

\(y\) : vector of non-referent log \(RR\)

\(X\) : design matrix contains the assigned doses

  • Model without intercept, so that \(RR = 1|x = 0\)

  • \(Cov(\epsilon)\) can be approximated depending on the study design ("cc" case-control, "ir" incidence-rate, "ci" cumulative-incidence)

Additional information about the number of cases and subjects (for case-control and cumulative incidence data) or person-time (for incidence rate data)

covar.logrr(cases, n, logrr, se^2, type = "cc", data = hypo_tab)
##       [,1]  [,2]  [,3]  [,4]
## [1,] 0.500 0.350 0.355 0.338
## [2,] 0.350 0.483 0.354 0.337
## [3,] 0.355 0.354 0.435 0.342
## [4,] 0.338 0.337 0.342 1.251

Assuming a linear trend: \(y = \beta_1 x + \epsilon\)

lin_ad <- dosresmeta(logrr ~ dose, type = "cc", cases = cases, n = n, 
                     se = se, data = hypo_tab)
predict(lin_ad, delta = 1, expo = T)
##  delta pred ci.lb ci.ub
##      1 2.03  1.58  2.61

To be compared with that obtain from individual data

ci.exp(lin_ipd, subset = "wtdiff")
##        exp(Est.) 2.5% 97.5%
## wtdiff      2.02 1.59  2.57

##             1        2        3        4        5        6        7       8
## bi    0.03283 -0.02360 -0.01431 -0.04777 -0.04736 -0.02028 -0.06517 -0.4180
## vi_bi 0.00045  0.00036  0.00006  0.00062  0.00122  0.00011  0.00042  0.0089
##             9       12       13       14       15       16       17       18
## bi    -0.1026 -0.01980 -0.02451 -0.02790 -0.05505 -0.02904 -0.01781 -0.01354
## vi_bi  0.0168  0.00007  0.00005  0.00011  0.00004  0.00054  0.00011  0.00018
##             19       20       21       22       23       24
## bi    -0.03212 -0.07854 -0.06802 -0.08603 -0.02244 -0.03806
## vi_bi  0.00061  0.00199  0.00019  0.00044  0.00001  0.00002

Two-stage dose-response meta-analysis: 2nd stage

\[ b_i \sim N \left( \bar b , v_{b_i} + \tau^2 \right) \]

\[ \hat {\bar b} = \frac{\sum_{i = 1}^K b_i w_i}{\sum_{i = 1}^K w_i} \] \(w_i = (v_{b_i} + \tau^2)^{-1}\)

  • \(\tau^2\) is the between-studies heterogeneity

  • Test for overall association: \(H_0: \bar b = 0\)

  • Test (Cochran \(Q\)) and quantify the impact (\(I^2\)) of statistical heterogeneity

library(metafor)
meta <- rma.uni(yi = bi, vi = vi_bi, data = dat_i, method = "DL")
forest(meta)

lin <- dosresmeta(formula = logrr ~ dose, id = id, se = se, type = type, 
                  cases = cases, n = n, data = coffee, method = "mm")
summary(lin)
## Call:  dosresmeta(formula = logrr ~ dose, id = id, type = type, cases = cases, 
##     n = n, data = coffee, se = se, method = "mm")
## 
## Two-stage random-effects meta-analysis
## Estimation method: 
## Covariance approximation: Greenland & Longnecker
## 
## Chi2 model: X2 = 44.4226 (df = 1), p-value = 0.0000
## 
## Fixed-effects coefficients
##              Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb  95%ci.ub     
## (Intercept)   -0.0324      0.0049  -6.6650    0.0000   -0.0419   -0.0229  ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
## 
## Between-study random-effects (co)variance components
##   Std. Dev
##     0.0163
## 
## Univariate Cochran Q-test for residual heterogeneity:
## Q = 77.0088 (df = 21), p-value = 0.0000
## I-square statistic = 72.7%
## 
## 22 studies, 22 values, 1 fixed and 1 random-effects parameters

Every increase of one cup of coffee per day was associated with a pooled \(100*(1 - \exp({\beta_1})) = 100*(1 - \exp(\)-0.032)) = 3.19% reduction in all-cause mortality (95% CI: 2.26, 4.1).

Modeling non-linearity: Restricted Cubic Splines

library(rms)
k <- with(coffee, quantile(dose, c(.1, .5, .9)))
spl <- dosresmeta(logrr ~ rcs(dose, k), id = id, se = se, type = type, 
                  cases = cases, n = n, data = coffee, method = "mm")
summary(spl)
## Call:  dosresmeta(formula = logrr ~ rcs(dose, k), id = id, type = type, 
##     cases = cases, n = n, data = coffee, se = se, method = "mm")
## 
## Two-stage random-effects meta-analysis
## Estimation method: 
## Covariance approximation: Greenland & Longnecker
## 
## Chi2 model: X2 = 209.5069 (df = 2), p-value = 0.0000
## 
## Fixed-effects coefficients
##                                Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb  95%ci.ub     
## rcs(dose, k)dose.(Intercept)    -0.0764      0.0105  -7.3101    0.0000   -0.0969   -0.0559  ***
## rcs(dose, k)dose'.(Intercept)    0.1053      0.0229   4.5935    0.0000    0.0604    0.1502  ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
## 
## Between-study random-effects (co)variance components
##                    Std. Dev              Corr
## rcs(dose, k)dose     0.0354  rcs(dose, k)dose
## rcs(dose, k)dose'    0.0797                -1
## (Note: Truncated estimate - 1 negative eigenvalues set to 0)
## 
## Univariate Cochran Q-test for residual heterogeneity:
## Q = 101.3912 (df = 42), p-value = 0.0000
## I-square statistic = 58.6%
## 
## 22 studies, 44 values, 2 fixed and 1 random-effects parameters

Presenting non-linearity

  • "Every unit increase is associated with …" not appropriate

  • Predict RRs for a set of exposure levels \(x^*\) (as compared to \(x_{ref}\))

\[\widehat {RR} = e^{(X^* - X_{ref}) \hat {\bar \beta}}\]

\[\text{95% CI: } e^{(X^* - X_{ref}) \hat {\bar \beta} \pm z_{1-\alpha/2} \left[ (X^* - X_{ref})^\top Var(\hat {\bar \beta}) (X^* - X_{ref}) \right]}\]

  • Predicted RRs can be both presented in either graphical or tabular form

newdata <- data.frame(dose = 0:7)
predict(spl, newdata, xref = 0, expo = T)
##   rcs(dose, k)dose rcs(dose, k)dose'  pred ci.lb ci.ub
## 1                0            0.0000 1.000 1.000 1.000
## 2                1            0.0237 0.929 0.911 0.947
## 3                2            0.1893 0.876 0.847 0.905
## 4                3            0.6049 0.847 0.818 0.878
## 5                4            1.2413 0.840 0.815 0.865
## 6                5            2.0355 0.846 0.827 0.865
## 7                6            2.9244 0.860 0.837 0.884
## 8                7            3.8462 0.878 0.841 0.918




Stratified analysis

  • To further explain heterogeneity and/or explore differences in dose-response curves

  • Prespecified study-level characteristics

  • Limited number of data points: interpret with caution

  • Stratified (or subgroups) analysis: divide the observations in groups and evaluate differences

spl_regr <- dosresmeta(logrr ~ rcs(dose, k), id, I(se^2), type, cases, n, 
                       data = coffee, mod = ~ area, method = "mm")
waldtest(Sigma = vcov(spl_regr), b = coef(spl_regr), Terms = c(2, 3, 5, 6))
## Wald test:
## ----------
## 
## Chi-squared test:
## X2 = 9.7, df = 4, P(> X2) = 0.046

Interactive web-app

References

  • http://alessiocrippa.com/shiny/dosresmeta/

  • http://alecri.github.io/software/dosresmeta

  • Crippa A, Orsini N. Multivariate Dose-Response Meta-Analysis: the dosresmeta R Package. Journal of Statistical Software, Code Snippets, 72(1), 1-15.

  • Crippa A, Discacciati A, Larsson SC, Wolk A, Orsini N. Coffee consumption and mortality from all causes, cardiovascular disease, and cancer: a dose-response meta-analysis. American journal of epidemiology. 2014 Aug 24:kwu194.

  • Greenland S, Longnecker MP. Methods for trend estimation from summarized dose-response data, with applications to meta-analysis. American journal of epidemiology. 1992 Jun 1;135(11):1301-9.

  • 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. American journal of epidemiology. 2012 Jan 1;175(1):66-73.

  • Berlin JA, Longnecker MP, Greenland S. Meta-analysis of epidemiologic dose-response data. Epidemiology. 1993 May 1;4(3):218-28.

  • Orsini N, Bellocco R, Greenland S. Generalized least squares for trend estimation of summarized dose-response data. Stata Journal. 2006 Jan 1;6(1):40.

  • Discacciati A, Crippa A, Orsini N. Goodness of fit tools for dose–response meta‐analysis of binary outcomes. Research synthesis methods. 2015 Jan 1.

  • Crippa A, Orsini N. Dose-response meta-analysis of differences in means. BMC Medical Research Methodology. 2016 Aug 2;16(1):91.

  • Crippa A, Khudyakov P, Wang M, Orsini N, Spiegelman D. A new measure of between-studies heterogeneity in meta-analysis. Statistics in Medicine. 2016 May 10. doi: 10.1002/sim.6980.

  • Larsson S, Crippa A, Orsini N, Wolk, Michaëlsson K. Milk Consumption and Mortality from All Causes, Cardiovascular Disease, and Cancer: A Systematic Review and Meta-Analysis. Nutrients. 2015 Sep 11;7(9):7749-7763.