As in any statistical analysis, data visualization is an important
step to interpret the results. To do so, the metaumbrella package
proposes to display the results of your umbrella review using forest
plots adapted to umbrella reviews. Contrary to forest plots used in
standard meta-analyses (in which the effect sizes of individual studies
are plotted), the forest plots proposed in the metaumbrella package
display the pooled effect sizes of the meta-analyses.
More precisely, the graphical presentation of the results generated
by the forest
function includes - by default (i) the name
of the factors assessed in the umbrella review (referred to as the
factor
column), (ii) a graphical representation of the
pooled effect size of each factor using a forest plot, (iii) the numeric
values of the pooled effect size and 95% confidence interval (referred
to as the value
column). Numerous options are proposed to
customize this basic figure (iv) various information such as the sample
size or the heterogeneity.
In the examples provided below, we present how to display a simple forest plot (Example 1), how to display a more complex forest plot in which some columns are added at the left of the plot (Example 2) and how to group the factors under a specific header, plus modifying the general layout (Example 3).
This example uses the dataset named df.OR
distributed along
with the metaumbrella package. In this example, we plot the results of
the calculations of the umbrella review while no stratification of
evidence has been performed.
The effect sizes are displayed as eG
, the default in
this function. Since all factors have used OR
, we can
convert the effect sizes in eOR
using the measure argument.
Moreover, because all effect sizes are OR
and not
eOR
, we indicate it in the plot (we can do this using the
rightlab
argument to modify the title of the right column
and using the xlab
argument to modify the title of the
x-axis).
In the meantime, we also add a title to the plot using the
smlab
argument.
forest(umb,
measure = "OR", # display eOR instead of eG,
rightlab = "OR + 95% CI",
xlab = "Odds Ratio",
smlab = "Umbrella review of \nrisk factors for NDD" # title of the plot
)
As you can see in the code for the title, we have added “backslash” n
after the word ‘for’. This forces a line break.
The size of the dots reflects the precision of the pooled effect
sizes. The narrower the 95% CI, the larger the size of the dot. If you
would like to fix the size of the dot, you can set the argument
weight.study
to “same”.
forest(umb,
measure = "OR", # display eOR instead of eG,
rightlab = "OR + 95% CI",
xlab = "Odds Ratio",
weight.study = "same",
smlab = "Umbrella review of \nrisk factors for NDD" # title of the plot
)
This example uses two datasets named df.SMD
and
df.HR
distributed along with the metaumbrella package. For
the example, we stratify the evidence for all factors included in these
two datasets according to some Personalized criteria.
# perform the calculations
umb <- union.umbrella(umbrella(df.SMD), umbrella(df.HR))
# stratify the evidence
strat.prso <- add.evidence(umb, criteria= "Personalized",
class_I = c(n_studies = 10, total_n = 3000, egger_p = .10, esb_p = .05),
class_II = c(n_studies = 10, total_n = 2000, egger_p = .10),
class_III = c(n_studies = 10, total_n = 1000, egger_p = .10),
class_IV = c(n_studies = 10, total_n = 500, egger_p = .10))
# plot the results
forest(strat.prso)
As you can see, the results are ordered according to the class
reached. The meta-analyses using HR
effect size measures
have been automatically converted to eG.
In some situations, you may be interested in adding/modifying the position of a column. In this example, we add a column describing the tau² values, and we move the column storing the effect size values and 95% CI on the left.
forest(strat.prso,
leftcols = c("Factor", "Class", "n_studies", "total_n", "tau2",
"effect.ci"),
leftlabs = c("Factor", "Class", "n-studies", "n-sample", "tau²",
"eSMD + 95% CI"),
rightcols = FALSE,
)
This example uses several fictitious datasets distributed along with
the metaumbrella package, namely df.SMD
,
df.OR
, df.RR
, df.IRR
and
df.OR.multi
.
# perform the calculations
umb <- union.umbrella(union.umbrella(
union.umbrella(union.umbrella(
umbrella(df.SMD), umbrella(df.OR)),
umbrella(df.RR)), umbrella(df.IRR)),
umbrella(df.OR.multi, mult.level = TRUE))
strat.prso <- add.evidence(umb, criteria = "Ioannidis")
forest(strat.prso)
First, to change the general appearance of the plot, you can use the ‘layout’ argument which can takes 3 values : “meta” (the default), “JAMA” and “RevMan5”. Let’s use the “RevMan5” option for this example:
Second, we will present the factors grouped under specific headers. For this example, we will group them according to the classes.