[R-meta] Meta-Analysis and Forest Plot for Multiple Treatments and Outcomes

Dr. Gerta Rücker gert@@ruecker @end|ng |rom un|k||n|k-|re|burg@de
Wed Mar 22 11:59:57 CET 2023


Dear Ruth,

Here are my answers, To your first question:


Ø  If an effect was significant with the NMA estimates (TE.nma.fixed from netmeta object), but not the direct fixed effect (TE.direct.fixed from netmeta object) in a pairwise comparison, would this suggest that the interpretation should be that there is a significant effect, but it is not robust? In terms of substantive interpretation, would this mean there is insufficient direct evidence? And is it generally true that pairwise comparisons are more conservative?

While pairwise MA uses only information from the direct comparisons, NMA potentially uses information from all comparisons in the network. Therefore NMA usually provides higher precision than MA (depending on the network structure and the estimate of the random effects variance). This means that NMA-based estimates may be „significant“ when pairwise estimates are not. This is just what one would expect, and it is one of the aims of NMA to obtain more precises estimates.

Note that if each pairwise MA uses its own heterogeneity estimate (tau²), it can be the other way round, because the tau² of the NMA may be larger than that of a particular pairwise estimate (for example, if there was only one study for this comparison). If, however, all pairwise comparisons use the same tau² (for example because the common effect model is used), the NMA estimate is at least as precise as the pairwise estimate.

Second question:


Ø  Further, if I want to use forest() to plot TE.direct.fixed instead of TE.nma.fixed of several netmeta objects combined with netbind(), what is the correct way of specifying this (i.e., in which function and with which argument)? (I realize the package was just updated, but I have been using the previous version and couldn't find the right settings yet.)

An elegant way to compare direct with indirect and network estimates in the same forest plot is to use netsplit(). If your NMA object is called net1, the simplest call is

forest(netsplit(net1))

It provides all three types of estimates in one plot, where the direct and indirect estimates are based on the same tau² which is estimated from the NMA. If you use the common effects model, tau² is set to 0 anyway. You may use the argument show (to choose the comparisons to be shown) and the arguments overall, direct and indirect (to choose the estimates to be shown). For example, with

forest(netsplit(net1), show = "with.direct", indirect = FALSE)

the output is restricted to those comparisons for which a direct estimate is available (argument show), each with its direct and network estimate (argument indirect).

Note again that in case of the random effects model the results of the pairwise meta-analyses depend on whether you use different estimates of tau² for each independent pairwise MA or take the common tau² from the NMA.

Purely separate pairwise MAs are obtained using netpairwise(), with corresponding forest function forest.netpairwise(), for example

forest(netpairwise(net1))

Best,
Gerta



Ø

Von: Ruth Elisabeth Appel <rappel using stanford.edu>
Gesendet: Mittwoch, 22. März 2023 11:08
An: Dr. Gerta Rücker <ruecker using imbi.uni-freiburg.de>
Cc: r-sig-meta-analysis using r-project.org
Betreff: Re: [R-meta] Meta-Analysis and Forest Plot for Multiple Treatments and Outcomes

Hi Gerta,

Thank you again for your very helpful advice! I have two follow up questions regarding the earlier thread on using netmeta. You mentioned
I would see the NMA as the primary analysis and the pairwise meta-analyses as sensitivity analyses.
and
There is another function in netmeta you may want to use to have all your 8 outcomes in one forest plot: function netbind() which is to bundle the results of several network meta-analyses into one forest plot. Here I would take the NMA estimates, not the pairwise direct comparisons.

If an effect was significant with the NMA estimates (TE.nma.fixed from netmeta object), but not the direct fixed effect (TE.direct.fixed from netmeta object) in a pairwise comparison, would this suggest that the interpretation should be that there is a significant effect, but it is not robust? In terms of substantive interpretation, would this mean there is insufficient direct evidence? And is it generally true that pairwise comparisons are more conservative?

Further, if I want to use forest() to plot TE.direct.fixed instead of TE.nma.fixed of several netmeta objects combined with netbind(), what is the correct way of specifying this (i.e., in which function and with which argument)? (I realize the package was just updated, but I have been using the previous version and couldn't find the right settings yet.)

In my current write up, I focus on the pairwise comparisons for the most part, but I want to be sure to interpret the results of the meta-analysis overall correctly. Your insights would be really appreciated!

Best,
Ruth

Ruth Elisabeth Appel
Ph.D. Candidate in Political Communication and Media Psychology
Stanford University
rappel using stanford.edu<mailto:rappel using stanford.edu>


On Feb 1, 2022, at 4:37 AM, Dr. Gerta Rücker <ruecker using imbi.uni-freiburg.de<mailto:ruecker using imbi.uni-freiburg.de>> wrote:

Hi Ruth,
There is another function in netmeta you may want to use to have all your 8 outcomes in one forest plot: function netbind() which is to bundle the results of several network meta-analyses into one forest plot. Here I would take the NMA estimates, not the pairwise direct comparisons.
I cannot really answer your question related to the correlation between outcomes. This is because I am working in the medical field, also Cochrane, where it is quite unusual to put all outcomes into one model, because we almost never have any knowledge about the within-study correlations - thus the outcomes are usually analyzed separately (they also are on different scales, we rarely use SMD). A paper discussing multivariate meta-analysis is https://onlinelibrary.wiley.com/doi/10.1002/sim.4172 (with discussion).
Best,
Gerta


Am 01.02.2022 um 06:40 schrieb Ruth Appel:
Hi Gerta,

Thank you so much for your super helpful and quick reply!
Yes, that is correct, I used the netmeta package as well (I considered it a complement/extension of meta [part of the yet to be established metaverse ;)], but I should have mentioned all packages I was using). The combination of netpairwise() and forest() is very close to what I was looking for – it would only be perfect if I could plot all 8 outcomes in the same plot rather than showing 8 separate plots, and I am not sure whether that’s possible since netpairwise seems to configure the different comparisons as subgroups and I couldn’t see another option to specify that I would like to show effects for several outcomes.

That is an important note regarding potential inconsistency issues with Hedges’ g, I could use Cohen’s d in that case.

Regarding the correlation between outcomes, how strong could it potentially bias the results in your experience? I think the netpairwise() solution is great, so if the bias introduced is not too big, I might use that approach.

Best,
Ruth

Ruth Elisabeth Appel
Ph.D. Candidate in Media Psychology
Stanford University Department of Communication
rappel using stanford.edu<mailto:rappel using stanford.edu>


On Jan 31, 2022, at 10:34 AM, Dr. Gerta Rücker <ruecker using imbi.uni-freiburg.de<mailto:ruecker using imbi.uni-freiburg.de>> wrote:

Hi Ruth,

First of all, if I understand it correctly, what you are aiming at is a network meta-analysis (NMA). Therefore, meta is not the appropriate R package, which would be netmeta (specialized to NMA) or metafor (more general). It seems you have in fact used netmeta, because you write about a netmeta object, is that true? I would see the NMA as the primary analysis and the pairwise meta-analyses as sensitivity analyses. These can be conducted using function netpairwise() in netmeta; for the fixed effect model, also netsplit() should provide the direct pairwise comparisons. Perhaps @Guido Schwarzer sees a convenient way to visualize the results within the same forest plot using forest.netsplit().

I would expect a problem with Hedges' g for three-arm studies because the results within a trial may become inconsistent (this holds for Hedges' g, but not for Cohen's d, as implemented in netmeta).

Note that netmeta accounts for multiple comparisons between groups with a study, however, it does not handle multivariate outcomes. Thus, if you want to account for correlation between outcomes, you need metafor. With respect to metafor, others are more expert than me.

Best,

Gerta

Am 31.01.2022 um 19:02 schrieb Ruth Appel:

Hi all,

I’m currently conducting my first meta-analysis, an internal meta-analysis to summarize the result of 3 similar studies my colleagues and I conducted.

I looked at the documentation of various meta-analysis packages and tutorials, but I am still not fully sure about the best approach.
The experiments I’m analyzing all have a similar structure (2 treatment groups, 1 control group; 8 different outcomes (measuring different constructs)). The raw data has repeated measures, but we look at outcomes at the group level, so I calculated all necessary summary statistics (mean, sd, n).
My goal is to create a forest plot that shows Hedges’ g estimated using an FE model (because the studies were highly similar) for (1) all 3 studies individually and (2) across all studies. Ideally, the final result would be a single forest plot with individual study estimates and across study estimate grouped by outcome.

I managed to create such a plot with the meta package for the 2 treatment groups separately, but I realized that my SEs could be biased in this case because I’m not accounting for the correlations in the variance resulting from the comparison of two treatment groups to the same control group. Similarly, I found a workaround to show all outcomes in 1 forest plot by using subgroups for the different outcomes, but I do not take into consideration that outcomes might be correlated within studies. I also didn’t find a way to show the individual study results in addition to the overall network results in a forest plot of a netmeta object.

I then tried to calculate the correct values using metafor and following the tutorial at https://www.metafor-project.org/doku.php/analyses:gleser2009#multiple-treatment_studies, but it seems like the individual studies are not correctly identified in the output (the ids are all unique instead of matching the study variable I had created).

My questions are: (1) Did I overlook guidance somewhere on how to exactly specify a model like the one above using the metafor, meta (or another R) package, and generate a forest plot for it?
(2) If this is not easily possible, do you think the bias introduced should be sufficiently small such that acknowledging it and presenting separate meta-analyses for each treatment, and a network meta analysis with the overall effects of each treatment (separately for each outcome) in the appendix, is acceptable? (I had very similar estimates across all the approaches described above.)

Best regards, and thank you very much for your guidance,
Ruth

Ruth Elisabeth Appel
Ph.D. Candidate in Media Psychology
Stanford University Department of Communication
rappel using stanford.edu<mailto:rappel using stanford.edu>

_______________________________________________
R-sig-meta-analysis mailing list
R-sig-meta-analysis using r-project.org<mailto:R-sig-meta-analysis using r-project.org>
https://stat.ethz.ch/mailman/listinfo/r-sig-meta-analysis

--

Dr. rer. nat. Gerta Rücker, Dipl.-Math.

Guest Scientist
Institute of Medical Biometry and Statistics,
Faculty of Medicine and Medical Center - University of Freiburg

Zinkmattenstr. 6a, D-79108 Freiburg, Germany

Mail:     ruecker using imbi.uni-freiburg.de<mailto:ruecker using imbi.uni-freiburg.de>
Homepage: https://www.uniklinik-freiburg.de/imbi-en/employees.html?imbiuser=ruecker


--



Dr. rer. nat. Gerta Rücker, Dipl.-Math.



Guest Scientist

Institute of Medical Biometry and Statistics,

Faculty of Medicine and Medical Center - University of Freiburg



Zinkmattenstr. 6a, D-79108 Freiburg, Germany



Mail:     ruecker using imbi.uni-freiburg.de<mailto:ruecker using imbi.uni-freiburg.de>

Homepage: https://www.uniklinik-freiburg.de/imbi-en/employees.html?imbiuser=ruecker


	[[alternative HTML version deleted]]



More information about the R-sig-meta-analysis mailing list