Network Meta-analysis in R part II. The Network effects forest plots in Network meta-analysis
Darko Medin
Data Scientist and a Biostatistician. Developer of ML/AI models. Researcher in the fields of Biology and Clinical Research. Helping companies with Digital products, Artificial intelligence, Machine Learning.
Welcome to tutorial Newtwork Meta-analysis in R part II. In this tutorial, i will show how to estimate the Network effects (indirect + direct effects) from the netmeta object and show the results as a Network effects forest plot. The software used as usual R [1] and RStudio[3] and the 'netmeta' package [2].
My name is Darko Medin, i am a Senior Biostatistician and a Meta-analysis expert and the author of this tutorial (you may find more about me on darkomedin.com or on my Linkedin)
Now to the tutorial material!
Before starting let me say a few words about the previous tutorial so its easier to connect.
In the previous tutorial the main topic was how to create the netmeta object which actually contains the network meta-analysis estimates. The direct evidence network was created as well. The next step is to use the netmeta objects and estimate the network effects. These can then be presented as the network effect forest plot and the treatment effects compared based on them.
Lets start!
For this specific tutorial i created a new dataset which is more aproapriate for estimating the network effects. You may find it here https://github.com/DarkoMedin/Network-Meta-Analysis-II/blob/main/nmadataset2.csv.
Here is the dataset once its loaded in R
You may notice that i names the data columns differently compared to the previous tutorial. I did this to point out to a very important aspect which is to show that the netmeta() function requires the logRRs instead of RRs and their corresponding logseRRs.
Prerequisite - the code from the previous tutorial. You may find the prerequisite code in the image bellow. (Make sure to install the 'netmeta' first - install.packages('netmeta'))
Quick summary of the previous code. The code will use the netmeta() function to create the netmeta object which can later be used to create direct evidence network (netgraph()) and network effect forest plot.
The resulting direct evidence graph will look like this.
The edges in the network in this case will represent the weight of the evidence in terms of the number of studies. This is the direct evidence graph. We can see that treatments A and B have most comparisons with placebo and we call also see all other direct comparisons in the graph. For now observe the network and notice how for some comparisons we have a lot of evidence and for some none, the network meta-analysis approach can help us infer the network effects even for those cases where there are no direct comparisons.
Ok now to the next part. The goal is to create create the plot with the Network effect estimates from the net object. For that a simple forest() function will do the work, as in the 'metafor' and 'meta' R packages. Still some features may be different.
Here is the code.
Notice how i used a simple forest() function. Keep in mind that this forest function is not the same as in 'metafor' and 'meta' packages and will create different estimates. This function will plot the Network effect estimates. (You may learn more avout the Network effects in my Orientation tutorial here)
The Network effects contain both the direct and indirect evidence and can be considered the highest order of evidence base if the assumptions of the analysis have been met.
领英推荐
Here is the resulting plot
As you can see the resulting forest plot shows treatment comparisons from the network meta-analysis. Keep in mind that these comparisons are network wise and the estimates are network effects, created using combined direct and indirect effects. In this case, i set the placebo as a reference, but in theory any treatment, including standard of treatment may be used a reference depending on the research question.
Lets talk about the interpretation for a bit. Treatment A and C have best network effects in terms of the risk reduction with RR = 0.43 [0.27 - 0.70] and RR = 0.39 [0.22-0.71]. Network effects have a higher level of credibility compared to the direct comparisons and pairwise meta-analysis. Given that the RRR or risk reduction effects were 57% and 61% for the hypothetical disease or a 'negative' event such as mortality treatments A and C performed the best and the magnitude would be Clinically meaningful for most Clinical Research areas (there are exceptions).
As you can see i ordered the estimates on the Network effects FP, by the P score. The P scores are calculated by ranking the estimates based on their effects relative to the point estimate differences in the network and the associated standard errors. In summary it can be a helper tool to determine which treatment is the best and which is worst, but by no means the only tool. When interpreting this, focus more on the confidence intervals.
Now its more cleare in terms of the treatment effects visual interpretation. But dont rely on it 100%. More work needs to be done for full interpretation.
In a typical publication ready work, its a good practive to show both the network and the forest plot side by side and then make the intepretation.
This is now a much better angle for interpretation. On the plot to the left we have information about the number of direct comparisons and on the right we have the forest plot of Network effects, including both direct and indirect effects in each of the treatment estimates. So for estimate A on the forest plot, both indirect and direct estimates are used to compute this box with its confidence interval. We see the similar result. Treatments A and C were the best, but we can also see here that some treatments (E, H and D) actually performed worse than placebo. The rest of the treatments are inconclusive.
But be aware, this is not the final interpretation. There is much more. We would need to separate indirect and direct effects and interpret that angle too. This will be the topic in the next tutorial Network Meta-analysis in R III.
Thanks for reading / learning and stay tuned for the next tutorials.
References :
Thank you Darko Medin for sharing this. Could you also share here the link for part I tutorial, please?
Founder and Sr Clinical Data Scientist @ CodLad | University of Oxford, Medical Statistics
10 个月Thank you Darko this is a great help for my understanding!
Public health | Non-communicable diseases | Project Scientist at AIIMS, Gorakhpur
10 个月Thank you for sharing.
???? ?? Assiut University
10 个月Great work ??????
Data Scientist and a Biostatistician. Developer of ML/AI models. Researcher in the fields of Biology and Clinical Research. Helping companies with Digital products, Artificial intelligence, Machine Learning.
10 个月The interpretation of course does not end here. Network-meta analysis interpretation is complex and reqiuires skill. But these steps are very important. In the next tutorial, i will show how to separate the network into direct and indirect and network effects /evidence and plot them individually on the forestplot. Plus some more forest plot customizations. Stay tuned for the part III and in the meantime hope you will find the part II tutorial useful.