Younghun Han Department of Epidemiology UT MD Anderson Cancer Center Meta Analysis Younghun Han Department of Epidemiology UT MD Anderson Cancer Center
Introduction Meta-analysis is the statistical procedure for combining the results of several studies that address a set of related research hypotheses. When the treatment effect (or effect size) is consistent from one study to the next, meta-analysis can be used to identify this common effect When the effect is varies from one study to the next, meta-analysis may be used to identify reason for the variation In epidemiological terms, meta-analysis provide a better estimate of effect size. A meta-analysis can increase power and provide standards of reporting results in genome-wide association studies (GWAS)
Terminology Effect size : In statistics, effect size is a measure of the strength of the relationship between two variables. Binary outcomes : odds ratio, relative risk, risk difference Continuous outcomes: difference in means, standardized difference in means, ∙ ∙ ∙ Summary effect size (pooled, overall, or combined effect size) Weighted average = ∑i(effecti × weighti) / ∑weighti weight : sample size, Inverse of the variance, Quality …..
Terminology (continuous) Fixed effect model (assume that the studies are homogeneous) Mantel-Haenszel Peto Inverse Variance Random effect model DerSimonian and Laird When the studies are found to be homogeneous, random and fixed effects models are indistinguishable. Test for heterogeneity Cochrans’s Q statistics I2
Terminology (continuous) Forest plot left-hand column lists the names of the studies The right-hand column is a plot of the effect size with confidence interval for each study The size of each square is proportional to the study's weight in the meta-analysis. The overall meta-analysed measure of effect is represented on the plot as a vertical line. This meta-analysed measure of effect is commonly plotted as a diamond, the lateral points of which indicate confidence intervals for this estimate.
Terminology (continuous) Publication bias Publication bias is the tendency to publish research with a positive outcome more frequently than research with a negative outcome. Publication bias can lead to misleading results Check publication bias by Funnel plots
Terminology (continuous) Funnel plot Effect size vs Sample size Effect size vs S.E. Effect size vs 1/S.E. (precision) (a) (b) The asymmetry in the right plot imply that a publication bias might be a problem
Mantel-Haenszel methods Most commonly used method for meta-analysis Need 2×2 frequency table for Mantel-Haenszel Exposed Non-Exposed Case ai bi Control ci di
Mantel-Haenszel methods (continuous) summary effectMH =∑i(effecti ×weighti)/ ∑i weighti For OR: ORi = (ai×di)/ (bi×ci) , weighti= (bi×ci)/ni For RR: RRi = [ai/(ai+ci)]/[bi/(bi×di)] , weighti=(ai+ci)bi/ni For RD: RDi = [ai/(ai+ci)]-[bi/(bi×di)] , weighti=(ai+ci)(bi +di) /ni where ni = ai + bi + ci + di
Meta-Analysis using R Datasets : Four GWAS for Lung Cancer case-control data (US, Canada, France, and UK) Example1 : rs2838891
Meta-Analysis using R (continuous) Fixed effect meta-analysis (Mantel-Haenszel) > LungOR <- meta.MH(data[,1],data[,2],data[,3],data[,4],names=name) > # data[,1]=Number of subjects in treated/exposed group > # data[,2]=Number of subjects in control group > # data[,3]=Number of events in treated/exposed group > # data[,4]=Number of events in control group > # names = names or labels for studies > > summary(LungOR) Fixed effects ( Mantel-Haenszel ) meta-analysis Call: meta.MH(ntrt = data[, 1], nctrl = data[, 2], ptrt = data[, 3], pctrl = data[, 4], names = name) ---------------------------------------------- OR (lower 95% upper) US 0.97 0.86 1.09 Canada 1.02 0.83 1.24 France 1.05 0.96 1.14 UK 2.70 2.42 3.01 --------------------------------------------- Mantel-Haenszel OR =1.34 95% CI ( 1.27,1.41 ) Test for heterogeneity: X^2( 3 ) = 231.71 ( p-value 0 )
Meta-Analysis using R (continuous) >plot(LungOR, ylab="") # Forest Plot
Meta-Analysis using R (continuous) tabletext<-cbind(c("Study",NA,LungOR$names,NA,"Summary"), c("OR", NA, format(exp(LungOR$logOR),digits=2), NA, format(exp(LungOR$logMH),digits=3)), c( NA,NA,format(exp(LungOR$logOR-LungOR$selogOR*1.96),digits=2), NA, format(exp(LungOR$logMH-LungOR$selogMH*1.96), digits=3 )), c("(95% CI)", NA, format(exp(LungOR$logOR+LungOR$selogOR*1.96), digits=3), NA, format(exp(LungOR$logMH+LungOR$selogMH*1.96), digits=3 ))) m<- c(NA,NA,LungOR$logOR,NA,LungOR$logMH) l<- m-c(NA,NA,LungOR$selogOR,NA,LungOR$selogMH)*1.96 u<- m+c(NA,NA,LungOR$selogOR,NA,LungOR$selogMH)*1.96 forestplot(tabletext, m, l, u, zero=0, is.summary=c( TRUE, rep(FALSE,6),TRUE), clip=c(log(0.4),log(3.5)), xlab="Odds Ratio", xlog=TRUE, col=meta.colors(box="royalblue",line="darkblue", summary="royalblue")) # xlog=TRUE : x-axis tick marks are exponentiated
Meta-Analysis using R (continuous)
Meta-Analysis using R (continuous) Random effect meta-analysis ( DerSimonian-Laird ) > LungDSL <- meta.DSL(data[,1],data[,2],data[,3],data[,4],names=name) > summary(LungDSL) Random effects ( DerSimonian-Laird ) meta-analysis Call: meta.DSL(ntrt = data[, 1], nctrl = data[, 2], ptrt = data[, 3], pctrl = data[, 4], names = name) -------------------------------------------- OR (lower 95% upper) US 0.97 0.86 1.09 Canada 1.02 0.83 1.24 France 1.05 0.96 1.14 UK 2.70 2.42 3.01 ------------------------------------------- SummaryOR= 1.29 95% CI ( 0.77,2.16 ) Test for heterogeneity: X^2( 3 ) = 231.58 ( p-value 0 ) check publication bias >funnelplot()
Meta-Analysis using Stata install commands ssc install metan ssc install metafunnel ssc install metabias metan (the main meta-analysis routine) requires either two, three, four or six variables to be declared. Two variables : effect estimate and standard error Three variables: effect estimate and its lower and upper confidence interval Four variables: the number of events and non-events in the experimental group followed by those of the control group, and analysis of binary data is performed on the 2x2 table. Six variables : the data are assumed continuous sample size, mean and standard deviation of the experimental group followed by those of the control group. metafunnel plots funnel plots. metabias performs the test for publication bias
Meta-Analysis using Stata (continuous) Example1 : rs2838891 . metan case_risk con_risk case_ref con_ref, or label(namevar=study) xlabel(0.5 , 3.5 ) texts(200) classic Study | OR [95% Conf. Interval] % Weight ---------------------+-------------------------------------------------------- US | 0.969 0.860 1.091 25.08 Canada | 1.015 0.835 1.235 8.99 France | 1.046 0.961 1.139 46.96 UK | 2.700 2.424 3.007 18.98 M-H pooled OR | 1.338 1.266 1.413 100.00 Heterogeneity chi-squared = 231.71 (d.f. = 3) p = 0.000 I-squared (variation in OR attributable to heterogeneity) = 98.7% Test of OR=1 : z= 10.39 p = 0.000
Meta-Analysis using Stata (continuous)
Meta-Analysis using Stata (continuous) . metan case_risk con_risk case_ref con_ref, or random label(namevar=study) xlabel(0.5, 3.5 ) texts(200) classic Study | OR [95% Conf. Interval] % Weight ---------------------+-------------------------------------------------------- US | 0.969 0.860 1.091 25.09 Canada | 1.015 0.835 1.235 24.52 France | 1.046 0.961 1.139 25.25 UK | 2.700 2.424 3.007 25.15 D+L pooled OR | 1.293 0.774 2.159 100.00 Heterogeneity chi-squared = 231.71 (d.f. = 3) p = 0.000 I-squared (variation in OR attributable to heterogeneity) = 98.7% Estimate of between-study variance Tau-squared = 0.2691 Test of OR=1 : z= 0.98 p = 0.326
Meta-Analysis using Stata (continuous)
Meta-Analysis using Stata (continuous) Example2 : rs1051730
Meta-Analysis using Stata (continuous) . metan case_risk con_risk case_ref con_ref, or label(namevar=study) texts(200) classic Study | OR [95% Conf. Interval] % Weight ---------------------+--------------------------------------------------- US | 1.313 1.163 1.481 21.08 Canada | 1.272 1.039 1.558 7.53 France | 1.302 1.194 1.420 40.51 UK | 1.295 1.172 1.432 30.89 M-H pooled OR | 1.300 1.230 1.374 100.00 Heterogeneity chi-squared = 0.07 (d.f. = 3) p = 0.995 I-squared (variation in OR attributable to heterogeneity) = 0.0% Test of OR=1 : z= 9.27 p = 0.000
Meta-Analysis using Stata (continuous)
Meta-Analysis using Stata (continuous) . metan case_risk con_risk case_ref con_ref, or random label(namevar=study) texts(200) classic Study | OR [95% Conf. Interval] % Weight ---------------------+--------------------------------------------------- US | 1.313 1.163 1.481 21.15 Canada | 1.272 1.039 1.558 7.49 France | 1.302 1.194 1.420 40.70 UK | 1.295 1.172 1.432 30.66 D+L pooled OR | 1.300 1.230 1.374 100.00 Heterogeneity chi-squared = 0.07 (d.f. = 3) p = 0.995 I-squared (variation in OR attributable to heterogeneity) = 0.0% Estimate of between-study variance Tau-squared = 0.0000 Test of OR=1 : z= 9.27 p = 0.000
Meta-Analysis using Stata (continuous) . gen logor=ln((case_risk*con_ref)/(case_ref*con_risk)) . gen selogor=sqrt(1/case_risk + 1/case_ref + 1/con_risk +1/con_ref) . metan logor selogor, eform effect(Odds ratio) xlabel(0.5, 3.5 ) texts(200) classic Study | ES [95% Conf. Interval] % Weight ---------------------+------------------------------------------------------- 1 | 1.313 1.163 1.481 21.15 2 | 1.272 1.039 1.558 7.49 3 | 1.302 1.194 1.420 40.70 4 | 1.295 1.172 1.432 30.66 I-V pooled ES | 1.300 1.230 1.374 100.00 Heterogeneity chi-squared = 0.07 (d.f. = 3) p = 0.995 I-squared (variation in ES attributable to heterogeneity) = 0.0% Test of ES=1 : z= 9.27 p = 0.000
Thank you!!!