今天的教程主要是使用netmeta程序包实现连续型变量的频率学网状meta分析,数据来源于《A systematic review and mixed treatment comparison of pharmacological interventions for the treatment of obesity》。
公众号后台回复nmacon获取训练数据。
1. 程序包加载及数据导入
library(netmeta)
data<-read.csv("data.csv",header = T,sep = ",")
head(data)
study treatment mean std.dev sampleSize
1 Kuo 2006 Placebo -0.2 1.10 30
2 Kuo 2006 Orlistat -1.6 1.64 30
3 Ozcelik 2004 Placebo -3.9 1.49 10
4 Ozcelik 2004 Orlistat -3.4 1.42 14
5 Turker 2006 Placebo -0.6 0.90 9
6 Turker 2006 Orlistat -2.4 0.42 18
2. 效应转换及模型构建
net <- pairwise(treat = treatment,
n= sampleSize,
mean = mean,
sd = std.dev,
data = data,
studlab = study,
sm = "MD")
m.netmeta <- netmeta(net ,
fixed = TRUE,
random = FALSE)
summary(m.netmeta)
## Original data (with adjusted standard errors for multi-arm studies):
##
## treat1 treat2 TE seTE seTE.adj narms multiarm
## Kuo 2006 Orlistat Placebo -1.4000 0.3605 0.3605 2
## Ozcelik 2004 Orlistat Placebo 0.5000 0.6050 0.6050 2
## Turker 2006 Orlistat Placebo -1.8000 0.3159 0.3159 2
## Wang 2005 Placebo Sibutramine 1.4000 0.3605 0.3605 2
## Schechter 2006 Placebo Sibutramine 2.6000 0.2258 0.2258 2
## Aydin 2004 Orlistat Placebo -1.1000 0.3610 0.4203 3 *
## Aydin 2004 Placebo Sibutramine 1.9000 0.4103 0.5869 3 *
## Aydin 2004 Orlistat Sibutramine 0.8000 0.3435 0.3906 3 *
## Beck-Da-Silva 2005 Orlistat Placebo -0.2100 1.2154 1.2154 2
## Borges 2007 OrliSibut Placebo 0.1000 0.9225 0.9225 2
## Cuellar 2000 Placebo Sibutramine 1.7700 0.5720 0.5720 2
## Desimone 2005 Placebo Sibutramine 1.6000 0.5696 0.5696 2
## Derosa 2004 Orlistat Sibutramine -0.1000 0.9221 0.9221 2
## Derosa 2005 Orlistat Sibutramine -0.1000 0.6324 0.6324 2
## Florakis 2008 Placebo Sibutramine 0.9000 0.4603 0.4603 2
## Grudell 2008 Placebo Sibutramine 1.2500 0.4887 0.4887 2
## Guimaraes 2006 Metformin Placebo -1.1000 0.7485 1.0567 3 *
## Guimaraes 2006 Placebo Sibutramine 1.8000 0.4691 0.4973 3 *
## Guimaraes 2006 Metformin Sibutramine 0.7000 0.7307 0.9367 3 *
## Kaya 2004 OrliSibut Placebo -2.6000 0.4044 0.6894 4 *
## Kaya 2004 Orlistat Placebo -1.1200 0.3161 0.4007 4 *
## Kaya 2004 Placebo Sibutramine 1.8900 0.3541 0.5352 4 *
## Kaya 2004 OrliSibut Orlistat -1.4800 0.3584 0.4780 4 *
## Kaya 2004 Orlistat Sibutramine 0.7700 0.3005 0.3711 4 *
## Kaya 2004 OrliSibut Sibutramine -0.7100 0.3923 0.6383 4 *
## Kiortsis 2008 Orlistat Placebo -1.7000 0.5681 0.7048 3 *
## Kiortsis 2008 Placebo Sibutramine 1.8000 0.5917 0.7935 3 *
## Kiortsis 2008 Orlistat Sibutramine 0.1000 0.4815 0.5403 3 *
## Ozcelik 2005 Orlistat Placebo -1.1000 0.9751 0.9751 2
## Scholze 2007 Placebo Sibutramine 1.5000 0.2830 0.2830 2
## Sarac 2006 Placebo Sibutramine 1.5000 0.4437 0.4437 2
## Sari 2004 Metformin Orlistat -1.4000 0.3399 0.3399 2
## Sathuapalan 2008 Metformin Rimonbant 1.7300 0.6527 0.6527 2
## Vazquez Roque 2007 Placebo Sibutramine 1.5000 0.2830 0.2830 2
## Wirth 2006 Placebo Sibutramine 1.7000 0.2236 0.2236 2
##
## Number of treatment arms (by study):
## narms
## Kuo 2006 2
## Ozcelik 2004 2
## Turker 2006 2
## Wang 2005 2
## Schechter 2006 2
## Aydin 2004 3
## Beck-Da-Silva 2005 2
## Borges 2007 2
## Cuellar 2000 2
## Desimone 2005 2
## Derosa 2004 2
## Derosa 2005 2
## Florakis 2008 2
## Grudell 2008 2
## Guimaraes 2006 3
## Kaya 2004 4
## Kiortsis 2008 3
## Ozcelik 2005 2
## Scholze 2007 2
## Sarac 2006 2
## Sari 2004 2
## Sathuapalan 2008 2
## Vazquez Roque 2007 2
## Wirth 2006 2
##
## Results (common effects model):
##
## treat1 treat2 MD 95%-CI Q
## Kuo 2006 Orlistat Placebo -1.1757 [-1.4352; -0.9162] 0.39
## Ozcelik 2004 Orlistat Placebo -1.1757 [-1.4352; -0.9162] 7.67
## Turker 2006 Orlistat Placebo -1.1757 [-1.4352; -0.9162] 3.91
## Wang 2005 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 0.94
## Schechter 2006 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 14.19
## Aydin 2004 Orlistat Placebo -1.1757 [-1.4352; -0.9162] 0.03
## Aydin 2004 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 0.07
## Aydin 2004 Orlistat Sibutramine 0.5736 [ 0.2991; 0.8482] 0.34
## Beck-Da-Silva 2005 Orlistat Placebo -1.1757 [-1.4352; -0.9162] 0.63
## Borges 2007 OrliSibut Placebo -2.2762 [-2.9063; -1.6461] 6.63
## Cuellar 2000 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 0.00
## Desimone 2005 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 0.07
## Derosa 2004 Orlistat Sibutramine 0.5736 [ 0.2991; 0.8482] 0.53
## Derosa 2005 Orlistat Sibutramine 0.5736 [ 0.2991; 0.8482] 1.13
## Florakis 2008 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 3.41
## Grudell 2008 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 1.04
## Guimaraes 2006 Metformin Placebo -2.2894 [-2.9265; -1.6523] 1.27
## Guimaraes 2006 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 0.01
## Guimaraes 2006 Metformin Sibutramine -0.5400 [-1.1816; 0.1015] 1.75
## Kaya 2004 OrliSibut Placebo -2.2762 [-2.9063; -1.6461] 0.22
## Kaya 2004 Orlistat Placebo -1.1757 [-1.4352; -0.9162] 0.02
## Kaya 2004 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 0.07
## Kaya 2004 OrliSibut Orlistat -1.1005 [-1.7331; -0.4679] 0.63
## Kaya 2004 Orlistat Sibutramine 0.5736 [ 0.2991; 0.8482] 0.28
## Kaya 2004 OrliSibut Sibutramine -0.5268 [-1.1617; 0.1081] 0.08
## Kiortsis 2008 Orlistat Placebo -1.1757 [-1.4352; -0.9162] 0.55
## Kiortsis 2008 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 0.00
## Kiortsis 2008 Orlistat Sibutramine 0.5736 [ 0.2991; 0.8482] 0.77
## Ozcelik 2005 Orlistat Placebo -1.1757 [-1.4352; -0.9162] 0.01
## Scholze 2007 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 0.78
## Sarac 2006 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 0.32
## Sari 2004 Metformin Orlistat -1.1137 [-1.7150; -0.5124] 0.71
## Sathuapalan 2008 Metformin Rimonbant 1.7300 [ 0.4508; 3.0092] 0.00
## Vazquez Roque 2007 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 0.78
## Wirth 2006 Placebo Sibutramine 1.7493 [ 1.5702; 1.9285] 0.05
## leverage
## Kuo 2006 0.13
## Ozcelik 2004 0.05
## Turker 2006 0.18
## Wang 2005 0.06
## Schechter 2006 0.16
## Aydin 2004 .
## Aydin 2004 .
## Aydin 2004 .
## Beck-Da-Silva 2005 0.01
## Borges 2007 0.12
## Cuellar 2000 0.03
## Desimone 2005 0.03
## Derosa 2004 0.02
## Derosa 2005 0.05
## Florakis 2008 0.04
## Grudell 2008 0.03
## Guimaraes 2006 .
## Guimaraes 2006 .
## Guimaraes 2006 .
## Kaya 2004 .
## Kaya 2004 .
## Kaya 2004 .
## Kaya 2004 .
## Kaya 2004 .
## Kaya 2004 .
## Kiortsis 2008 .
## Kiortsis 2008 .
## Kiortsis 2008 .
## Ozcelik 2005 0.02
## Scholze 2007 0.10
## Sarac 2006 0.04
## Sari 2004 0.81
## Sathuapalan 2008 1.00
## Vazquez Roque 2007 0.10
## Wirth 2006 0.17
##
## Number of studies: k = 24
## Number of pairwise comparisons: m = 35
## Number of observations: o = 1714
## Number of treatments: n = 6
## Number of designs: d = 9
##
## Common effects model
##
## Treatment estimate (sm = 'MD', comparison: other treatments vs 'Metformin'):
## MD 95%-CI z p-value
## Metformin . . . .
## OrliSibut 0.0132 [-0.8517; 0.8782] 0.03 0.9761
## Orlistat 1.1137 [ 0.5124; 1.7150] 3.63 0.0003
## Placebo 2.2894 [ 1.6523; 2.9265] 7.04 < 0.0001
## Rimonbant -1.7300 [-3.0092; -0.4508] -2.65 0.0080
## Sibutramine 0.5400 [-0.1015; 1.1816] 1.65 0.0990
##
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0.1692; tau = 0.4113; I^2 = 51.3% [22.9%; 69.2%]
##
## Tests of heterogeneity (within designs) and inconsistency (between designs):
## Q d.f. p-value
## Total 49.27 24 0.0018
## Within designs 35.48 16 0.0034
## Between designs 13.78 8 0.0876
3. 网络证据绘制
netgraph(m.netmeta,
start ="circle",
cex = 0.7,
col = "black",
plastic = F,
points = TRUE,
col.points = "darkred",
cex.points =5*sqrt(n.trts/max(n.trts)),
thickness = "number.of.studies",
lwd.max = 12,
lwd.min = 1,
multiarm = FALSE)
4. 森林图绘制
forest(m.netmeta,
ref = "placebo",
pooled = "random",
digits = 2,
col.square = "steelblue",
smlab = "Random effects model",
label.left = "Favors the other ",
label.right = "Favors the Placebo",
drop = TRUE,
sortvar = T)
5. 排序图(SURCA )
netrank(m.netmeta, small.values = "good")
## P-score
## Rimonbant 0.9963
## Metformin 0.6933
## OrliSibut 0.6899
## Sibutramine 0.4205
## Orlistat 0.2001
## Placebo 0.0000
6. 两两比较赛联表制作
netleague <- netleague(m.netmeta,
bracket = "(",
digits=2)
netleague
write.csv(netleague$random, "netleague.csv")
Metformin | OrliSibut | Orlistat | Placebo | Rimonbant | Sibutramine |
---|---|---|---|---|---|
Metformin | . | -1.40 (-2.07; -0.73) | -1.10 (-2.57; 0.37) | 1.73 ( 0.45; 3.01) | 0.70 (-0.73; 2.13) |
-0.01 (-0.88; 0.85) | OrliSibut | -1.48 (-2.18; -0.78) | -2.16 (-2.89; -1.44) | . | -0.71 (-1.48; 0.06) |
-1.11 (-1.72; -0.51) | -1.10 (-1.73; -0.47) | Orlistat | -1.25 (-1.55; -0.95) | . | 0.56 ( 0.18; 0.93) |
-2.29 (-2.93; -1.65) | -2.28 (-2.91; -1.65) | -1.18 (-1.44; -0.92) | Placebo | . | 1.76 ( 1.58; 1.95) |
1.73 ( 0.45; 3.01) | 1.74 ( 0.20; 3.29) | 2.84 ( 1.43; 4.26) | 4.02 ( 2.59; 5.45) | Rimonbant | . |
-0.54 (-1.18; 0.10) | -0.53 (-1.16; 0.11) | 0.57 ( 0.30; 0.85) | 1.75 ( 1.57; 1.93) | -2.27 (-3.70; -0.84) | Sibutramine |
7. 节点分割法
netsplit(m.netmeta)
forest(netsplit(m.netmeta))
## Separate indirect from direct evidence (SIDE) using back-calculation method
##
## Common effects model:
##
## comparison k prop nma direct indir. Diff z p-value
## OrliSibut:Metformin 0 0 0.0132 . 0.0132 . . .
## Orlistat:Metformin 1 0.81 1.1137 1.4000 -0.1465 1.5465 1.96 0.0503
## Placebo:Metformin 1 0.19 2.2894 1.1000 2.5658 -1.4658 -1.76 0.0777
## Rimonbant:Metformin 1 1.00 -1.7300 -1.7300 . . . .
## Sibutramine:Metformin 1 0.20 0.5400 -0.7000 0.8514 -1.5514 -1.90 0.0577
## OrliSibut:Orlistat 1 0.81 -1.1005 -1.4800 0.5272 -2.0072 -2.44 0.0149
## OrliSibut:Placebo 2 0.75 -2.2762 -2.1648 -2.6164 0.4516 0.61 0.5449
## OrliSibut:Rimonbant 0 0 1.7432 . 1.7432 . . .
## OrliSibut:Sibutramine 1 0.68 -0.5268 -0.7100 -0.1343 -0.5757 -0.83 0.4078
## Orlistat:Placebo 8 0.75 -1.1757 -1.2492 -0.9515 -0.2976 -0.97 0.3324
## Orlistat:Rimonbant 0 0 2.8437 . 2.8437 . . .
## Orlistat:Sibutramine 5 0.54 0.5736 0.5581 0.5919 -0.0338 -0.12 0.9043
## Placebo:Rimonbant 0 0 4.0194 . 4.0194 . . .
## Placebo:Sibutramine 14 0.95 1.7493 1.7617 1.5123 0.2494 0.59 0.5541
## Rimonbant:Sibutramine 0 0 -2.2700 . -2.2700 . . .
##
## Legend:
## comparison - Treatment comparison
## k - Number of studies providing direct evidence
## prop - Direct evidence proportion
## nma - Estimated treatment effect (MD) in network meta-analysis
## direct - Estimated treatment effect (MD) derived from direct evidence
## indir. - Estimated treatment effect (MD) derived from indirect evidence
## Diff - Difference between direct and indirect treatment estimates
## z - z-value of test for disagreement (direct versus indirect)
## p-value - p-value of test for disagreement (direct versus indirect)