forked from MathiasHarrer/Doing-Meta-Analysis-in-R
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy path10-network_metanalysis.Rmd
111 lines (66 loc) · 5.38 KB
/
10-network_metanalysis.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Network Meta-Analysis
![](networks.jpg)
Often when doing meta-analysis on the effectiveness of certain interventions, we are less interested if **one particular intervention is effective** (e.g., because it is quite well established that the intervention can be efficacious), but weather **one intervention is more or less effective than another type of intervention for some condition**. Yet, once we are interested in **head-to-head** comparisons between two treatments, we often face the problem that **only very few, if any, randomized controlled trials have compared the effects of two interventions directly**. This makes it very hard, if not impossible for us to conduct conventional meta-analyses to answer questions on the comparative effects of two or more interventions for one indication or outcome (e.g., different types of psychotherapy for major depression).
Nevertheless, while direct comparisons between two or more interventions may often not exist, it is often the case that the interventions were evaluated in separate randomized controlled trials in which the intervention effects were compared to similar **control groups** (e.g., waitlist control groups, or placebos). This means that we do have **indirect comparisons** of the effects of different interventions, because they were compared to the same control condition. **Multiple-treatments meta-analysis (MTM)** is an extension of conventional meta-analysis which allows us to **incorporate indirect comparisons**, and thus the simultaneous analysis of several interventions.
These meta-analysis methods are also referred to as **network meta-analyses**, as such methods allow for **multiple interventions comparisons to be integrated into our analysis**, which can be formalized as a **"network"** of comparisons.
<br><br>
```{block,type='rmdinfo'}
**The idea behind network meta-analysis**
Let's assume you have the results of two randomized controlled trials. One trial evaluated the effect of cognitive behavioral therapy (CBT) for depression to a control group. The second trial evaluted the effects of short-term psychodynamic therapy (STPP) on depression compared to control. We know the effect size $\hat\theta$ of both interventions which was found in the trial compared to control at post-test. These studies produce **indirect evidence** for the comparative effect of CBT versus STPP [@schwarzer2015meta]:
$$\hat\theta_{CBT vs. STPP}^{indirect}=\hat\theta_{CBT vs. Control}^{direct} -\hat\theta_{STPP vs.Control}^{direct} $$
On the other hand, it may also be the case that we found one study **in which the effects of CBT were directly compared to the ones of STPP**. We will denote this effect as $\hat\theta_{CBT vs. STPP}^{direct}$. In network-meta-analysis, we want to integrate the **direct** as well as the **indirect** evidence to get the most precise effect estimate of the comparative effects.
According to Schwarzer et al. [@schwarzer2015meta], there are two conditions which have to be met to conduct network meta-analyses:
* The studies are **independent**
* The effect sizes are **consistent**. This means that effect sizes of interventions comparisons we attain through direct evidence should be similar to the one we get from indirect evidence (e.g., $\theta_{CBT vs. STPP}^{direct}=\theta_{CBT vs. STPP}^{indirect}$). Inconsistency, on the other hand, is $\theta_{CBT vs. STPP}^{direct}-\theta_{CBT vs. STPP}^{indirect0} \not= 0$. Assessing and dealing with inconsistency is highly important in network meta-analysis.
Below, you can see a simple first network of the comparisons between the control condition and the two interventions. We could also think of a network where **some comparisons are simply not available**, as is the case in the second network.
```
```{r,echo=FALSE,fig.width=4, fig.height=3, fig.align='center',message=FALSE,fig.cap="A simple network"}
library(sna)
library(ggplot2)
library(GGally)
library(network)
# random graph
net = rgraph(3, mode = "graph", tprob = 1)
net = network(net, directed = FALSE)
# vertex names
network.vertex.names(net) = c("CBT","STPP","Control")
ggnet<-ggnet2(net, size=12, node.color = "lightblue", label = c("CBT","STPP","Control"),label.size=3,node.size = 8, label.color = "black")
ggnet
```
```{r, echo=FALSE, fig.width=4,fig.height=3,fig.cap="A simple network with one missing comparison",fig.align='center'}
library(png)
library(grid)
img <- readPNG("networkgraph.png")
grid.raster(img)
```
```{block,type='rmdinfo'}
**Work in progress**
A full version of this Chapter will be available soon.
```
```{r,message=FALSE}
library(netmeta)
library(plyr)
```
```{r,echo=FALSE}
load("netmetdata.RData")
```
```{r,eval=FALSE}
netmetdata
```
```{r,echo=FALSE}
library(knitr)
kable(netmetdata)
```
Results
```{r}
netmet <- netmeta(TE, seTE, treat1, treat2, studlab=paste(Author), data=netmetdata, sm="SMD",reference.group = "Waitlist")
netmet
```
```{r}
netgraph(netmet,seq = c("Waitlist","Gestalt","Psychodynamic","MCT","MBCT","Placebo","CBT","System","Psychoanalysis","ACT"))
netgraph(netmet, start="circle", iterate=TRUE, col="darkgray", cex=1.5, multiarm=TRUE, points=TRUE, col.points="blue", cex.points=3)
```
```{r}
forest(netmet, xlim=c(-1.5, 0.5), ref="Waitlist", leftlabs="Contrast to Waitlist", xlab="Effect on Depression (SMD)",sortvar = TE, smlab = "")
forest(netmet, xlim=c(-1.5, 0.5), ref="Placebo", leftlabs="Contrast to Placebo", xlab="Effect on Depression (SMD)",sortvar = TE, smlab = "")
```