Skip to main content

Power of Statistical Tests for Subgroup Analysis in Meta-Analysis

  • Chapter
  • First Online:
Design and Analysis of Subgroups with Biopharmaceutical Applications

Part of the book series: Emerging Topics in Statistics and Biostatistics ((ETSB))

Abstract

Meta-analysis is used extensively in health and medicine to examine the average effect of a treatment and the variation among studies estimating this effect. However, the estimate of the average treatment effect is not the only concern in a systematic review. Researchers also need to understand how the treatment effect may vary. The potential challenges for subgroup analyses in meta-analysis parallel those in randomized trials where many have urged caution in the conduct and interpretation of subgroup analyses. This chapter will discuss the power of statistical tests for subgroup analysis in order to help in both the planning and interpretation of subgroup tests in a meta-analysis. The chapter will begin with an overview of subgroup analyses in a meta-analysis, reviewing recent research on the interpretation of these results. The chapter will then discuss the a priori power of subgroup analyses under the fixed and the random effects model and provide examples of power computations. The chapter will also present a general overview of power in meta-regression with directions for future research on power analysis for examining subgroup effects.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 74.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 139.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  • Borenstein M, Hedges LV, Higgins JPT, Rothstein HR (2009) Introduction to meta-analysis. John Wiley, Chichester

    Book  Google Scholar 

  • Brookes ST, Whitely E, Egger M, Smith GD, Mulheran PA, Peters TJ (2004) Subgroup analyses in randomized trials: risks of subgroup-specific analysis; power and sample size for the interaction test. J Clin Epidemiol 57:229–236

    Article  Google Scholar 

  • European Medicines Agency (2014) Draft guideline on the investigation of subgroups in confirmatory clinical trials. European Medicines Agency, London. https://www.ema.europa.eu/en/documents/scientific-guideline/draft-guideline-investigation-subgroups-confirmatory-clinical-trials_en.pdf

    Google Scholar 

  • Hedges LV, Pigott TD (2001) The power of statistical tests in meta-analysis. Psychol Methods 6:203–217

    Article  Google Scholar 

  • Hedges LV, Pigott TD (2004) The power of statistical tests for moderators in meta-analysis. Psychol Methods 9:426–445

    Article  Google Scholar 

  • Higgins JTP, Green S (2011) Cochrane handbook for systematic reviews of interventions Version 5.1.0 [updated March 2011]. The Cochrane Collaboration, 2011. Available from www.handbook.cochrane.org

  • Hoenig J, Heisey D (2001) The abuse of power: the pervasive fallacy of power calculations for data analysis. Am Stat 55:19–24

    Article  MathSciNet  Google Scholar 

  • Ioannidis JPA (2005) Why most published research findings are false. PLoS Med 2:e124

    Article  Google Scholar 

  • Jackson D, Turner R (2017) Power analysis for random-effects meta-analysis. Res Synth Methods 8:290–302

    Article  Google Scholar 

  • Oxman AD, Guyatt GH (1992) A consumer’s guide to subgroup analyses. Ann Intern Med 116:78–84

    Article  Google Scholar 

  • Pigott TD (2012) Advances in meta-analysis. Springer, New York

    Book  Google Scholar 

  • Pocock SJ, Assmann SE, Enos LE, Kasten LE (2002) Subgroup analysis, covariate adjustment and baseline comparisons in clinical trial reporting: current practice and problems. Stat Med 21:2917–2930

    Article  Google Scholar 

  • Richardson M, Garner P, Donegan S (2019) Interpretation of subgroup analyses in systematic reviews: a tutorial. Clin Epidemiol Global Health 7(2):192–198

    Article  Google Scholar 

  • Smith GD, Egger M (2001) Going beyond the grand mean: subgroup analysis in meta-analysis of randomized trials. In: Egger M, Smith GD, Altman DG (eds) Systematic reviews in health care: meta-analysis in context. BMJ, London, pp 143–156

    Chapter  Google Scholar 

  • Valentine JC, Pigott TD, Rothstein HR (2010) How many studies do you need? A primer on statistical power for meta-analysis. J Educ Behav Stat 35:215–247

    Article  Google Scholar 

  • Wang R, Lagakos SW, Ware JH, Hunter DJ, Drazen JM (2007) Statistics in medicine—reporting of subgroup analyses in clinical trials. N Engl J Med 357:2189–2194

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Terri D. Pigott .

Editor information

Editors and Affiliations

Appendices

R Function pchisq to Compute Power

In R, the function pchisq gives the distribution function for the chi-square distribution, the area either above or below a particular value. To compute the power for the examples of the chapter, use the following code:

$$ 1\hbox{--} \mathrm{pchisq}\left(x, df, ncp=y,\mathrm{lower}.\mathrm{tail}=\mathrm{TRUE},\log .\mathrm{p}=\mathrm{FALSE}\right) $$

The value x is the critical value for the central chi-square for a test at the α level of significance with df degrees of freedom (the number of groups in the test – 1). The value y in ncp = y is the value of the non-centrality parameter for the alternative hypothesis being tested. The argument lower.tail = TRUE gives the area in the non-central chi-square distribution that is less than the value of x, or the lower tail of the distribution. By default, the function returns the result in log units; setting the argument log.p = FALSE provides the value needed for computing power.

To obtain the critical value of the central chi-square distribution at the α level of significance, use the following code:

$$ \mathrm{qchisq}\left(p, df, ncp= 0,\mathrm{lower}.\mathrm{tail}=\mathrm{TRUE},\log .\mathrm{p}=\mathrm{FALSE}\right) $$

The value p is 1 − α, and df are the degrees of freedom for the test (the number of groups in the test – 1). The expression ncp = 0 indicates that we are interested in the central chi-square distribution.

R Code for Fig. 17.1, Power for Subgroup Differences with the Standardized Mean Difference

# Power analysis for fixed effects subgroup analysis of two groups - SMD

library(ggplot2)

# Create a dataframe with N = 15 values for power analysis

# subdiff is a range of subgroup mean differences

# m is the common number of studies in both groups

# ssize is the within-study sample size

# vi is the common within-study variance for the effect size

N < −15

powerparms1 < − data.frame(subdiff = numeric(N), ssize = (N), vi = numeric (N))

# add values for the power parameters

# seq is a function that creates a sequence of numbers for the subgroup differences

# rep is a function that repeats a value for the common within-study sample size

powerparms1$subdiff <− c(seq(from = 0.05, to = 0.75, by = 0.05))

powerparms1$ssize <− c(rep(20, times = 15))

# use effsize and ssize to create vi for standardized mean difference

# I use 1/2 of the subgroup difference of interest for the overall mean effect size

powerparms1$vi < − ((powerparms1$ssize)/((0.5*powerparms1$ssize) ^ 2)) +

(((0.5*powerparms1$subdiff) ^ 2)/ (2*powerparms1$ssize))

# copy the dataframe 3 times to create parameters for 3 different

# scenarios for number of studies within groups m = 5, 10, 15

powerp1 < − rbind(powerparms1, powerparms1, powerparms1)

# create values for equal m within groups of 5, 10, 15

powerp1$m < − c(rep(5, times = 15), rep(10, times = 15), rep(15, times = 15))

powerp1$mlab <− c(rep(“3:m = 5”, times = 15), rep(“2:m = 10”, times = 15),

rep(“1:m = 15”, times = 15))

# get the sums of the weights for values of the vi and m

powerp1$w1sum < − powerp1$m*(1/powerp1$vi)

powerp1$w2sum < − powerp1$m*(1/powerp1$vi)

# get lambda the non-centrality parameter

powerp1$lambda <− (powerp1$w1sum*((0.5*powerp1$subdiff) ^ 2))+

(powerp1$w2sum*((0.5*powerp1$subdiff) ^ 2))

#get power

powerp1$power < − 1 - pchisq(3.84, 1, ncp = powerp1$lambda, lower.tail = T,

log.p = F)

# plot the power curves

ggplot(powerp1, aes(x = powerp1$subdiff, y = powerp1$power, group = powerp1$mlab)) +

geom_line() +

geom_point(aes(shape = powerp1$mlab)) +

ggtitle(“Power for subgroup differences with SMD”) +

labs(y = “Power”, x = “Subgroup difference”) +

labs(shape = “Subgroup size”)

R Code for Fig. 17.2, Power for Subgroup Differences with Log-Odds Ratio and Varying Degrees of Heterogeneity

# Power analysis for random effects subgroup analysis of two groups - LOR

library(ggplot2)

# Create a dataframe with values for power analysis

# subdiff is a range of subgroup mean differences

# m is the common number of studies in both groups

# ssize is the within-study sample size

# vi is the common within-study variance for the effect size

N < -15

powerparms2 < − data.frame(subdiff = numeric(N), m = numeric(N), ssize = numeric(N), vi = numeric(N))

# add values for the power parameters

# seq is a function that creates a sequence of numbers for the subgroup differences

# rep is a function that repeats a value

powerparms2$subdiff <− c(seq(from = 0.05, to = 2.85, by = 0.20))

powerparms2$ssize <− c(rep(20, times = 15))

powerparms2$m < − c(rep(10, times = 15))

# use an LOR = 1 for overall effect size to compute vi

# ssize/4 for each cell to obtain common estimate of vi

cellcounts <− powerparms2$ssize/4

powerparms2$vi < − 4*(1/cellcounts)

# copy the dataframe 3 times to create parameters for 3 different

# scenarios for heterogeneity: low, medium, high

powerp2 < − rbind(powerparms2, powerparms2, powerparms2)

# create factor for each value of heterogeneity

powerp2$levelh <− c(rep(“1:low”, times = 15), rep(“2:medium”, times = 15),

rep(“3:high”, times = 15))

# create values for tau for the three different levels of heterogeneity

powerp2$tausq[1:15] < − powerp2$vi[1:15]/3

powerp2$tausq[16:30] < − powerp2$vi[16:30]

powerp2$tausq[31:45] < − powerp2$vi[31:45]*3

# get the sums of the weights for values of the vi and m

powerp2$w1sum < − powerp2$m*(1/(powerp2$vi + powerp2$tau))

powerp2$w2sum < − powerp2$m*(1/(powerp2$vi + powerp2$tau))

# get lambda the non-centrality parameter

powerp2$lambda <− (powerp2$w1sum*((0.5*powerp2$subdiff) ^ 2))+

(powerp2$w2sum*((0.5*powerp2$subdiff) ^ 2))

# get power

powerp2$power < − 1 - pchisq(3.84, 1, ncp = powerp2$lambda, lower.tail = T,

log.p = F)

# plot the power curves

ggplot(powerp2, aes(x = powerp2$subdiff, y = powerp2$power, group = powerp2$levelh)) +

geom_line() +

geom_point(aes(shape = powerp2$levelh)) +

ggtitle(“Power for subgroup differences with LOR”) +

labs(y = “Power”, x = “Subgroup difference”) +

labs(shape = “Heterogeneity”)

R Code for Fig. 17.3, Power for the Log-Odds Ratio with Varying Numbers of Studies Within Groups

# Power analysis for random effects subgroup analysis of two groups - LOR

# Moderate heterogeneity and unbalanced groups

library(ggplot2)

# Create a dataframe with values for power analysis

# subdiff is a range of subgroup mean differences

# m is the common number of studies in both groups

# ssize is the within-study sample size

# vi is the common within-study variance for the effect size

N < -15

powerparms3 < − data.frame(subdiff = numeric(N), ssize = numeric(N), vi = numeric(N))

# add values for the power parameters

# seq is a function that creates a sequence of numbers

# rep is a function that repeats a value

powerparms3$subdiff <− c(seq(from = 0.05, to = 2.85, by = 0.20))

powerparms3$ssize <− c(rep(20, times = 15))

# use an LOR = 1 for overall effect size to compute vi

# ssize/4 for each cell to obtain common estimate of vi

cellcounts <− powerparms3$ssize/4

powerparms3$vi < − 4*(1/cellcounts)

# copy the dataframe 3 times to create parameters for 3 different

# scenarios for balance of subgroups - balanced, 1/2 and 1/5

powerp3 < − rbind(powerparms3, powerparms3, powerparms3)

# create factor for balance scenario

powerp3$balance <− c(rep(“1:balanced”, times = 15), rep(“2:m1 = 2 m2”, times = 15),

rep(“3:m1 = 5 m2”, times = 15))

# create values for m1 and m2

powerp3$m2[1:15] < − 9

powerp3$m1[1:15] < − powerp3$m2[1:15]

powerp3$m2[16:30] < − 6

powerp3$m1[16:30] < − 2* powerp3$m2[16:30]

powerp3$m2[31:45] < − 3

powerp3$m1[31:45] < − 5* powerp3$m2[31:45]

# moderate level of tau: vi = tau

powerp3$tausq <− powerp3$vi

# get the sums of the weights for values of the vi and m

powerp3$w1sum < − powerp3$m1*(1/(powerp3$vi + powerp3$tau))

powerp3$w2sum < − powerp3$m2*(1/(powerp3$vi + powerp3$tau))

# get the value of the overall mean effect size given subdiff

# and the values of m1 and m2

powerp3$meaneff <− (powerp3$m2*powerp3$subdiff)/(powerp3$m1 + powerp3$m2)

# get lambda assuming group 1 has mean 0 and group 2 has mean = subdiff

powerp3$lambda <− (powerp3$w1sum*((0 - powerp3$meaneff) ^ 2))+

(powerp3$w2sum*((powerp3$subdiff - powerp3$meaneff) ^ 2))

powerp3$power < − 1 - pchisq(3.84, 1, ncp = powerp3$lambda, lower.tail = T,

log.p = F)

# plot the power curves

ggplot(powerp3, aes(x = powerp3$subdiff, y = powerp3$power, group = powerp3$balance)) +

geom_line() +

geom_point(aes(shape = powerp3$balance)) +

ggtitle(“Power for LOR: Unbalanced groups”) +

labs(y = “Power”, x = “Subgroup difference”) +

labs(shape = “Group Balance”)

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Pigott, T.D. (2020). Power of Statistical Tests for Subgroup Analysis in Meta-Analysis. In: Ting, N., Cappelleri, J., Ho, S., Chen, (G. (eds) Design and Analysis of Subgroups with Biopharmaceutical Applications. Emerging Topics in Statistics and Biostatistics . Springer, Cham. https://doi.org/10.1007/978-3-030-40105-4_17

Download citation

Publish with us

Policies and ethics