In epidemiological studies exposure is often categorized and modeled with indicator variables, so no specific trend is assumed. Results are typically reported in a tabular way as a series of dose-specific relative risks (RR), with one category serving as referent. Orsini et al. (2006) described how to estimate a trend from such summarized dose-response data.
A particular feature of the analysis is the covariance that arises from presenting the outcome using one reference category. The authors explained how to reconstruct the covariance matrix for the outcome variable and use it to efficiently estimate the exposure-disease association. Different types of doseâ“response data arising from published case-??control, incidence-rate, and cumulative incidence data were used to demonstrate the methodology.
The first example is a case-control data on alcohol and breast cancer (Rohan and McMichael 1988). The data is included in the dosresmeta package.
require("dosresmeta") ##Load dosresmeta package
data("cc_ex") ##Load the data
cc_ex ##Print the data
gday dose case control n crudeor adjrr lb ub logrr
1 Ref. 0 165 172 337 1.00 1.00 1.00 1.00 0.0000000
2 <2.5 2 74 93 167 0.83 0.80 0.51 1.27 -0.2231435
3 2.5-9.3 6 90 96 186 0.98 1.16 0.73 1.85 0.1484200
4 >9.3 11 122 90 212 1.41 1.57 0.99 2.51 0.4510757
A naive analysis would regard the data as independent ignoring the correlation among log RRs
modCc0 <- dosresmeta(formula = logrr ~ dose, lb = lb, ub = ub,
covariance = "indep", data = cc_ex)
summary(modCc0)
Call: dosresmeta(formula = logrr ~ dose, data = cc_ex, lb = lb, ub = ub,
covariance = "indep")
One-stage fixed-effects meta-analysis
Covariance approximation: Independent
Chi2 model: X2 = 3.1987 (df = 1), p-value = 0.0737
Fixed-effects coefficients
Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
dose 0.0334 0.0187 1.7885 0.0737 -0.0032 0.0701 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
1 study 3 values, 1 fixed and 0 random-effects parameters
logLik AIC BIC
0.7159 0.5681 -0.3333
The dosresmeta function, instead, approximates the covariance matrix and applies generalized least square to efficiently estimate the trend. By default the intercept is already omitted (see help(dosresmeta)).
modCc <- dosresmeta(formula = logrr ~ dose, type = "cc", cases = case, n = n,
lb = lb, ub = ub, data = cc_ex)
summary(modCc)
Call: dosresmeta(formula = logrr ~ dose, type = "cc", cases = case,
n = n, data = cc_ex, lb = lb, ub = ub)
One-stage fixed-effects meta-analysis
Covariance approximation: Greenland & Longnecker
Chi2 model: X2 = 4.8333 (df = 1), p-value = 0.0279
Fixed-effects coefficients
Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
dose 0.0454 0.0207 2.1985 0.0279 0.0049 0.0859 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
1 study 3 values, 1 fixed and 0 random-effects parameters
logLik AIC BIC
0.7835 0.4330 -0.4684
The results can be expressed on the exponential scale for any increment (delta) in the exposure
predict(modCc, delta = 11, expo = TRUE)
delta pred ci.lb ci.ub
11 1.648255 1.055709 2.573384
The reconstruct covariance matrix can be obtained either from the the dosresmeta object or using the the covar.logrr function.
modCc$Slist
$`1`
[,1] [,2] [,3]
[1,] 0.05417235 0.01881768 0.01943145
[2,] 0.01881768 0.05627467 0.02068682
[3,] 0.01943145 0.02068682 0.05632754
se <- with(cc_ex, (log(ub) - log(lb))/(2*qnorm(.975)))
covar.logrr(cases = case, n = n, y = logrr, v = I(se)^2, type = "cc",
data = cc_ex)
[,1] [,2] [,3]
[1,] 0.05417235 0.01881768 0.01943145
[2,] 0.01881768 0.05627467 0.02068682
[3,] 0.01943145 0.02068682 0.05632754
The second example includes incidence-rate data on long-term intake of dietary fiber and risk of coronary heart disease among women (Wolk A et al. 1999).
ir_ex <- read.table("http://alessiocrippa.altervista.org/data/ir_ex.txt")
ir_ex
dose cases n adjrr lb ub logrr loglb logub doser
1 11.5 148 134707 1.00 1.00 1.00 0.00000000 0.0000000 0.00000000 0.000000
2 14.3 127 133824 0.98 0.77 1.24 -0.02020269 -0.2613648 0.21511139 2.800000
3 16.4 114 130654 0.92 0.71 1.18 -0.08338159 -0.3424903 0.16551439 4.900000
4 18.8 107 124522 0.87 0.66 1.15 -0.13926206 -0.4155154 0.13976192 7.299999
5 22.9 95 117808 0.77 0.57 1.04 -0.26136479 -0.5621189 0.03922068 11.400000
modIr <- dosresmeta(formula = logrr ~ dose, type = "ir", cases = cases, n = n,
lb = lb, ub = ub, data = ir_ex)
summary(modIr)
Call: dosresmeta(formula = logrr ~ dose, type = "ir", cases = cases,
n = n, data = ir_ex, lb = lb, ub = ub)
One-stage fixed-effects meta-analysis
Covariance approximation: Greenland & Longnecker
Chi2 model: X2 = 3.4667 (df = 1), p-value = 0.0626
Fixed-effects coefficients
Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
dose -0.0232 0.0125 -1.8619 0.0626 -0.0476 0.0012 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
1 study 4 values, 1 fixed and 0 random-effects parameters
logLik AIC BIC
4.6916 -7.3832 -7.9969
predict(modIr, delta = 10, expo = TRUE)
delta pred ci.lb ci.ub
10 0.7928775 0.6210185 1.012296
The third example considers cumulative incidence data on high-fat dairy food intake and colorectal cancer risk (Larsson, Bergkvist, and Wolk 2005).
ci_ex <- read.table("http://alessiocrippa.altervista.org/data/ci_ex.txt")
ci_ex
dose cases n adjrr lb ub logrr loglb logub
1 0.0 110 8103 1.00 1.00 1.00 0.0000000 0.0000000 0.00000000
2 1.5 212 17538 0.75 0.60 0.96 -0.2876821 -0.5108256 -0.04082202
3 2.5 211 15304 0.74 0.58 0.95 -0.3011051 -0.5447272 -0.05129331
4 3.5 132 9078 0.68 0.52 0.90 -0.3856625 -0.6539265 -0.10536054
5 6.5 133 10685 0.59 0.44 0.79 -0.5276328 -0.8209806 -0.23572231
modCi <- dosresmeta(formula = logrr ~ dose, type = "ci", cases = cases, n = n,
lb = lb, ub = ub, data = ci_ex)
summary(modCi)
Call: dosresmeta(formula = logrr ~ dose, type = "ci", cases = cases,
n = n, data = ci_ex, lb = lb, ub = ub)
One-stage fixed-effects meta-analysis
Covariance approximation: Greenland & Longnecker
Chi2 model: X2 = 11.8170 (df = 1), p-value = 0.0006
Fixed-effects coefficients
Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
dose -0.0736 0.0214 -3.4376 0.0006 -0.1155 -0.0316 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
1 study 4 values, 1 fixed and 0 random-effects parameters
logLik AIC BIC
3.7380 -5.4760 -6.0897
predict(modCi, delta = 2, expo = TRUE)
delta pred ci.lb ci.ub
2 0.8631999 0.7937519 0.9387241
In the last example the authors show how to estimate a summary linear trend across multiple studies. The meta-analysis includes nine studies (six caseâ“control and three cohort studies) on the association between lactose intake and ovarian cancer risk (Larsson, Orsini, and Wolk 2006).
ovarian <- read.table("http://alessiocrippa.altervista.org/data/ovarian.txt")
ovarian
id author year type adjrr lb ub dose case n logrr se
1 1 Engle 1991 cc 1.000 1.000 1.000 0.00 15 50 0.000000000 0.0000000
2 1 Engle 1991 cc 0.900 0.400 2.200 0.55 21 56 -0.105360542 0.4348927
3 1 Engle 1991 cc 1.300 0.600 2.900 1.15 35 54 0.262364228 0.4019299
4 1 Engle 1991 cc 0.900 0.400 2.000 1.80 16 52 -0.105360542 0.4105784
5 2 Risch 1994 cc 1.000 1.000 1.000 0.00 97 232 0.000000000 0.0000000
6 2 Risch 1994 cc 1.040 0.710 1.530 0.90 107 250 0.039220676 0.1958602
7 2 Risch 1994 cc 0.860 0.580 1.280 1.60 102 243 -0.150822873 0.2019392
8 2 Risch 1994 cc 1.070 0.720 1.590 2.40 143 284 0.067658697 0.2021053
9 3 Webb 1998 cc 1.000 1.000 1.000 0.00 128 292 0.000000000 0.0000000
10 3 Webb 1998 cc 1.010 0.710 1.430 1.10 133 297 0.009950321 0.1786167
11 3 Webb 1998 cc 1.060 0.740 1.510 1.60 134 296 0.058268854 0.1819459
12 3 Webb 1998 cc 1.400 0.980 2.000 2.40 177 328 0.336472220 0.1819804
13 3 Webb 1998 cc 0.970 0.670 1.410 3.80 149 317 -0.030459178 0.1898166
14 4 Goodman 2002 cc 1.000 1.000 1.000 0.00 140 292 0.000000000 0.0000000
15 4 Goodman 2002 cc 0.550 0.550 1.090 0.60 140 292 -0.597836979 0.1744968
16 4 Goodman 2002 cc 0.670 0.470 0.950 1.20 140 292 -0.400477542 0.1795261
17 4 Goodman 2002 cc 0.610 0.420 0.890 1.90 140 292 -0.494296298 0.1915767
18 5 Salazar 2002 cc 1.000 1.000 1.000 0.00 35 243 0.000000000 0.0000000
19 5 Salazar 2002 cc 0.770 0.440 1.370 2.80 28 241 -0.261364789 0.2897480
20 5 Salazar 2002 cc 0.540 0.290 0.990 3.70 21 229 -0.616186100 0.3132262
21 6 Cozen 2002 cc 1.000 1.000 1.000 0.00 78 183 0.000000000 0.0000000
22 6 Cozen 2002 cc 0.900 0.579 1.399 0.75 57 150 -0.105360542 0.2250578
23 6 Cozen 2002 cc 0.940 0.629 1.406 1.50 83 212 -0.061875406 0.2052009
24 6 Cozen 2002 cc 1.001 0.656 1.523 2.50 72 173 0.000999547 0.2148704
25 7 Kushi 1999 ir 1.000 1.000 1.000 0.50 29 67800 0.000000000 0.0000000
26 7 Kushi 1999 ir 1.380 0.800 2.390 1.07 36 67800 0.322083496 0.2791982
27 7 Kushi 1999 ir 1.250 0.720 2.180 1.95 34 67800 0.223143551 0.2826146
28 7 Kushi 1999 ir 1.600 0.950 2.700 3.09 40 67800 0.470003644 0.2664705
29 8 Fairfield 2004 ir 1.000 1.000 1.000 0.32 51 228537 0.000000000 0.0000000
30 8 Fairfield 2004 ir 1.360 0.940 1.960 0.70 66 228537 0.307484710 0.1874575
31 8 Fairfield 2004 ir 0.930 0.620 1.390 1.11 46 228537 -0.072570685 0.2059577
32 8 Fairfield 2004 ir 1.300 0.900 1.880 1.61 65 228537 0.262364228 0.1879199
33 8 Fairfield 2004 ir 1.400 0.980 2.010 2.60 73 228537 0.336472220 0.1832527
34 9 Larsson 2005 ir 1.000 1.000 1.000 0.59 54 227238 0.000000000 0.0000000
35 9 Larsson 2005 ir 1.300 0.900 1.880 1.26 68 219977 0.262364228 0.1879199
36 9 Larsson 2005 ir 1.230 0.860 1.760 1.81 74 222101 0.207014185 0.1826913
37 9 Larsson 2005 ir 1.480 1.050 2.090 2.77 92 225412 0.392042101 0.1756088
Fixed-effects analysis
fixedOvarian <- dosresmeta(formula = logrr ~ dose, id = id, type = type,
cases = case, n = n, se = se, data = ovarian,
method = "fixed", proc = "1stage")
summary(fixedOvarian)
Call: dosresmeta(formula = logrr ~ dose, id = id, type = type, cases = case,
n = n, data = ovarian, se = se, method = "fixed", proc = "1stage")
One-stage fixed-effects meta-analysis
Covariance approximation: Greenland & Longnecker
Chi2 model: X2 = 0.5689 (df = 1), p-value = 0.4507
Fixed-effects coefficients
Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
dose 0.0192 0.0254 0.7543 0.4507 -0.0307 0.0691
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
9 studies, 28 values, 1 fixed and 0 random-effects parameters
logLik AIC BIC
-0.3316 2.6631 3.9953
predict(fixedOvarian, delta = 1, expo = T)
delta pred ci.lb ci.ub
1 1.019377 0.9697886 1.071501
Since the estimated association of lactose intake with ovarian cancer risk might depend on the study design, we can present run two separate analyses depending on the study design
fixedSplit <- lapply(split(ovarian, ovarian$type), function(x)
dosresmeta(formula = logrr ~ dose, id = id, type = type,
cases = case, n = n, se = se, data = x,
method = "fixed", proc = "1stage"))
lapply(fixedSplit, function(x) predict(x, delta = 1, expo = T))
$cc
delta pred ci.lb ci.ub
1 0.9665253 0.9097986 1.026789
$ir
delta pred ci.lb ci.ub
1 1.141353 1.045074 1.246502
Random-effects analysis
remlOvarian <- dosresmeta(formula = logrr ~ dose, id = id, type = type,
cases = case, n = n, se = se, data = ovarian,
method = "reml", proc = "1stage")
summary(remlOvarian)
Call: dosresmeta(formula = logrr ~ dose, id = id, type = type, cases = case,
n = n, data = ovarian, se = se, method = "reml", proc = "1stage")
One-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker
Chi2 model: X2 = 0.1434 (df = 1), p-value = 0.7050
Fixed-effects coefficients
Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
dose 0.0151 0.0400 0.3786 0.7050 -0.0633 0.0936
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Between-study random-effects (co)variance components
Std. Dev
0.0855
9 studies, 28 values, 1 fixed and 1 random-effects parameters
logLik AIC BIC
-1.8726 7.7453 10.3369
predict(remlOvarian, delta = 1, expo = T)
delta pred ci.lb ci.ub
1 1.015263 0.9386969 1.098075
remlSplit <- lapply(split(ovarian, ovarian$type), function(x)
dosresmeta(formula = logrr ~ dose, id = id, type = type,
cases = case, n = n, se = se, data = x,
method = "reml", proc = "1stage"))
lapply(remlSplit, function(x) predict(x, delta = 1, expo = T))
$cc
delta pred ci.lb ci.ub
1 0.9559864 0.8832893 1.034667
$ir
delta pred ci.lb ci.ub
1 1.141353 1.045074 1.246502
Final table
OBS: The formulas for the variances of the log relative risks for incidence rate and cumulative incidence data have been corrected after the paper was published (Orsini et al. 2012). This explains differences for the numbers in the table (the results are the same up to the third decimal place).
modIr0 <- dosresmeta(formula = logrr ~ dose, lb = lb, ub = ub,
covariance = "indep", data = ir_ex)
modCi0 <- dosresmeta(formula = logrr ~ dose, lb = lb, ub = ub,
covariance = "indep", data = ci_ex)
fixedOvarian0 <- dosresmeta(formula = logrr ~ dose, id = id, se = se,
data = ovarian, method = "fixed", proc = "1stage",
covariance = "indep")
fixedSplit0 <- lapply(split(ovarian, ovarian$type), function(x)
dosresmeta(formula = logrr ~ dose, id = id,
se = se, data = x, method = "fixed", proc = "1stage",
covariance = "indep"))
fixedCc <- fixedSplit[[1]]
fixedIr <- fixedSplit[[2]]
fixedCc0 <- fixedSplit0[[1]]
fixedIr0 <- fixedSplit0[[2]]
models <- list("modCc", "modIr", "modCi", "fixedCc", "fixedIr", "fixedOvarian")
table <- do.call("rbind", lapply(models, function(y){
y <- list(eval(as.name(y)), eval(as.name(paste0(y, "0"))))
do.call("c", lapply(y, function(x)
c(b = x$coef, se = x$vcov^.5, Q = summary(x)$qtest[[1]])))
}))
table <- cbind(table, round(100*(table[, 1:2] - table[, 3:4])/table[, 1:2], 1))
rownames <- c("Caseâcontrol", "Incidence-rate", "Cumulative-incidence",
"Caseâcontrol", "Incidence-rate", "Overall")
require("Gmisc")
htmlTable(round(table, 3),
cgroup = c("GLS", "WLS", "Difference %"),
n.cgroup = rep(2, 3), align = 'ccccccc',
header = rep(c("b", "se"), 3),
rgroup = c("Single study", "Multiple studies"),
rnames = rownames, n.rgroup = c(rep(3, 2))
)
GLS | WLS | Difference % | ||||||
---|---|---|---|---|---|---|---|---|
b | se | b | se | b | se | |||
Single study | ||||||||
Caseâ“control | 0.045 | 0.021 | 0.033 | 0.019 | 26.4 | 9.5 | ||
Incidence-rate | -0.023 | 0.012 | -0.02 | 0.01 | 12.7 | 20.3 | ||
Cumulative-incidence | -0.074 | 0.021 | -0.098 | 0.018 | -32.9 | 15.7 | ||
Multiple studies | ||||||||
Caseâ“control | -0.034 | 0.031 | -0.042 | 0.026 | -23.1 | 17.2 | ||
Incidence-rate | 0.132 | 0.045 | 0.176 | 0.042 | -33.3 | 5.8 | ||
Overall | 0.019 | 0.025 | 0.016 | 0.022 | 15.2 | 14 |
Information about R session:
R version 3.2.1 (2015-06-18)
Platform: i386-w64-mingw32/i386 (32-bit)
Running under: Windows 7 (build 7600)
locale:
[1] LC_COLLATE=Swedish_Sweden.1252 LC_CTYPE=Swedish_Sweden.1252 LC_MONETARY=Swedish_Sweden.1252
[4] LC_NUMERIC=C LC_TIME=Swedish_Sweden.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] Gmisc_1.1 htmlTable_1.3 Rcpp_0.11.5 dosresmeta_2.0.0 mvmeta_0.4.5 kfigr_1.1.0
[7] knitr_1.10.5
loaded via a namespace (and not attached):
[1] Formula_1.2-1 cluster_2.0.1 magrittr_1.5 MASS_7.3-40 splines_3.2.1
[6] munsell_0.4.2 colorspace_1.2-6 lattice_0.20-31 stringr_0.6.2 plyr_1.8.2
[11] tools_3.2.1 nnet_7.3-9 grid_3.2.1 gtable_0.1.2 latticeExtra_0.6-26
[16] htmltools_0.2.6 forestplot_1.1 abind_1.4-3 yaml_2.1.13 survival_2.38-1
[21] digest_0.6.8 RColorBrewer_1.1-2 reshape2_1.4.1 ggplot2_1.0.1 formatR_1.2
[26] acepack_1.3-3.3 rpart_4.1-9 evaluate_0.7 rmarkdown_0.6.1 scales_0.2.4
[31] Hmisc_3.15-0 foreign_0.8-63 proto_0.3-10
Larsson, Susanna C., Leif Bergkvist, and Alicja Wolk. 2005. “High-Fat Dairy Food and Conjugated Linoleic Acid Intakes in Relation to Colorectal Cancer Incidence in the Swedish Mammography Cohort.” The American Journal of Clinical Nutrition 82 (4): 894–900. http://ajcn.nutrition.org/content/82/4/894.
Larsson, Susanna C., Nicola Orsini, and Alicja Wolk. 2006. “Milk, Milk Products and Lactose Intake and Ovarian Cancer Risk: A Meta-Analysis of Epidemiological Studies.” International Journal of Cancer 118 (2): 431–41. doi:10.1002/ijc.21305.
Orsini, Nicola, Ruifeng Li, Alicja Wolk, Polyna Khudyakov, and Donna Spiegelman. 2012. “Meta-Analysis for Linear and Nonlinear Dose-Response Relations: Examples, an Evaluation of Approximations, and Software.” American Journal of Epidemiology 175 (1): 66–73. doi:10.1093/aje/kwr265.
Rohan, Thomas E., and Anthony J. McMichael. 1988. “Alcohol Consumption and Risk Op Breast Cancer.” International Journal of Cancer 41 (5): 695–99. doi:10.1002/ijc.2910410510.
Wolk A, Manson JE, Stampfer MJ, and et al. 1999. “LOng-Term Intake of Dietary Fiber and Decreased Risk of Coronary Heart Disease Among Women.” JAMA 281 (21): 1998–2004. doi:10.1001/jama.281.21.1998.