Main Analysis
The Main Analysis section is the heart of the module -- the unified workflow for pairwise meta-analysis. Choose an effect measure, enter study data, and receive both fixed-effect and random-effects pooled estimates, heterogeneity statistics (Q, I-squared, tau-squared), forest plot, funnel plot, publication-bias tests, and sensitivity analysis.
The workflow
| Step | What you do |
|---|---|
| 1. Select analysis type | Choose one of 15 effect measures -- determines inputs and formulas |
| 2. Enter study data | Add each study with per-study inputs (means/SDs, 2x2 cells, log-effects/SEs). Import supported |
| 3. Calculate | Engine runs full analysis and shows results |
Both fixed-effect and random-effects models are always returned side by side.
Choosing the effect measure
| Family | Effect measures |
|---|---|
| Continuous | Mean Difference (MD), Standardized Mean Difference (SMD), Paired Means, Single Mean |
| Dichotomous | Odds Ratio (OR), Peto Odds Ratio, Risk Ratio (RR), Risk Difference (RD) |
| Time-to-event | Hazard Ratio (HR), Incidence Rate Ratio (IRR) |
| Other | Correlation Coefficient, Proportions/Prevalence, AUC-ROC, Diagnostic Test Accuracy (bivariate), Generic Inverse Variance |
Effect measures -- Statistical methods
Mean Difference (MD)
For continuous outcomes on the same scale.
MD_i = mean1 - mean2
SE_i = sqrt(SD1^2/n1 + SD2^2/n2)
CI = MD +/- 1.96 * SE
Standardized Mean Difference (SMD) -- Hedges' g
For continuous outcomes on different scales. Uses Hedges' g small-sample correction:
Pooled SD: sP = sqrt[((n1-1)*SD1^2 + (n2-1)*SD2^2) / (n1+n2-2)]
Cohen's d: d = (mean1 - mean2) / sP
J = 1 - 3/(4*df - 1)
Hedges' g = d * J
SE(g) = sqrt[(n1+n2)/(n1*n2) + g^2/(2*(n1+n2))]
The J factor removes small-sample upward bias of Cohen's d.
Paired Means
For within-subject (paired) designs. SE uses the correlation between paired measurements (SD of the difference).
Single Mean
Pools means from single-arm studies. Per-study SE is SD / sqrt(n).
Odds Ratio (OR)
Mantel-Haenszel (fixed-effect):
OR_i = (a*d) / (b*c)
Pooled OR_MH = sum(a*d/n) / sum(b*c/n)
Inverse-Variance (random-effects):
logOR_i = ln((a*d)/(b*c))
Var = 1/a + 1/b + 1/c + 1/d
SE_logOR = sqrt(Var)
weight_i = 1 / Var
Continuity correction: 0.5 added to all cells if any cell is zero.
Peto Odds Ratio
For rare-event meta-analysis. Uses the Peto one-step approximation -- no continuity correction needed.
Risk Ratio (RR)
RR_i = (a/(a+b)) / (c/(c+d))
logRR_i = ln(RR_i)
Var = 1/a - 1/(a+b) + 1/c - 1/(c+d)
CI = exp(logRR +/- 1.96 * sqrt(Var))
Continuity correction (0.5) applied if any cell is zero.
Risk Difference (RD)
Computed on the proportion scale (no log transform):
RD_i = a/(a+b) - c/(c+d)
CI = RD +/- 1.96 * SE
Hazard Ratio (HR)
Computed on the log-HR scale:
weight_i = 1 / SE^2
Pooled logHR = sum(weight * logHR) / sum(weight)
Pooled HR = exp(pooled logHR)
SE recovery from CI: SE = (ln(upperCI) - ln(lowerCI)) / (2 * 1.96)
Incidence Rate Ratio (IRR)
For count outcomes with person-time denominators. Pools on log-IRR scale.
Correlation Coefficient
Uses Fisher z-transformation:
z_i = 0.5 * ln((1+r)/(1-r))
Var(z) = 1/(n-3)
weight = n-3
CI computed on z-scale and back-transformed.
Proportions / Prevalence
Pools on the logit scale:
Adjusted p = (e + 0.5) / (n + 1) [continuity adjustment]
Logit = ln(p / (1-p))
SE(logit) = sqrt(1/(e+0.5) + 1/(n-e+0.5))
Pooled proportion = back-transformed pooled logit.
AUC-ROC
Pools AUC values with appropriate variance weighting on the AUC scale.
Diagnostic Test Accuracy (bivariate)
Joint meta-analysis of sensitivity and specificity. Models them jointly (bivariate approach). Produces a Summary ROC (SROC) plot.
Generic Inverse Variance
When you have only effect estimate and SE per study:
weight_i = 1 / SE_i^2
Pooled effect = sum(weight * effect) / sum(weight)
Fixed-effect and random-effects models
| Model | Assumption | Weighting |
|---|---|---|
| Fixed-effect | All studies estimate the same true effect | w = 1 / SE^2 (or Mantel-Haenszel for OR) |
| Random-effects | True effects vary across studies (tau-squared > 0) | w = 1 / (SE^2 + tau^2) |
DerSimonian-Laird tau-squared estimator:
Q = sum(w_i * (effect_i - pooled_FE)^2)
C = sum(w) - sum(w^2)/sum(w)
df = k - 1
tau^2 = max(0, (Q - df) / C)
If heterogeneity is negligible (low I-squared), both models give similar results. With substantial heterogeneity, random-effects is generally preferred.
Heterogeneity statistics
| Statistic | Formula | Interpretation |
|---|---|---|
| Q | sum(w_i * (effect_i - pooled_FE)^2) |
Chi-squared test for heterogeneity |
| df | k - 1 | Degrees of freedom |
| p-value | From chi-squared distribution | Significance of Q |
| I-squared | max(0, (Q-df)/Q * 100)% |
Proportion of variation due to heterogeneity |
| tau-squared | DerSimonian-Laird | Between-study variance |
I-squared interpretation (Cochrane Handbook): 0-40% might not be important; 30-60% moderate; 50-90% substantial; 75-100% considerable.
Publication bias
Three tests run automatically:
Egger's regression test
Weighted regression of standardised effect on precision. Non-zero intercept indicates funnel-plot asymmetry.
- p < 0.05: Significant asymmetry -- publication bias may be present
- p 0.05-0.10: Marginal evidence -- consider publication bias
- p >= 0.10: No significant asymmetry -- low risk
Begg's rank correlation test
Kendall's tau between standardised effects and variances.
- p < 0.05: Significant rank correlation -- bias may be present
- p 0.05-0.10: Marginal evidence
- p >= 0.10: No significant correlation -- low risk
Duval and Tweedie's Trim-and-Fill
Estimates missing studies from one side of the funnel, fills them by reflection, re-computes pooled effect. Reports adjusted effect and adjusted 95% CI alongside the original.
These tests complement each other. Converging results strengthen inference; divergent results invite caution.
Sensitivity analysis
Leave-one-out analysis: re-runs the meta-analysis omitting each study in turn. Studies whose removal substantially moves the pooled estimate are flagged as influential.
Outputs
| Output | Contents |
|---|---|
| Pooled effect (fixed) | Point estimate, SE, 95% CI, z-statistic, p-value |
| Pooled effect (random) | Point estimate, SE, 95% CI, z-statistic, p-value |
| Heterogeneity | Q, df, p, I-squared, tau-squared |
| Per-study results | Effect, SE, CI, fixed and random weights |
| Forest plot | Per-study effects with CIs, pooled diamond, weights |
| Funnel plot | Effect vs precision with 95% pseudo-CI funnel |
| Publication bias | Egger, Begg, Trim-and-Fill |
| Sensitivity | Leave-one-out, influential studies |
| SROC plot | For diagnostic-accuracy analyses |
All outputs can be exported for manuscripts.