#安装包运行包

library(BUGSnet)
## 
## This version of BUGSnet is distributed under the Creative Commons
## Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).
## You are responsible for conforming to the terms of this license.
## Commercial use is strictly prohibited. Contact the authors for more information.
library(readr)
library(rmarkdown)
library(knitr)
library(caTools)
library(rticles)

#读取数据

setwd("D:\\黄老师META分析\\减量网状META")
data1 <- read_csv("dedosenetmeta.csv",show_col_types = FALSE)

#输出数据

data <- data.prep(arm.data = data1, 
varname.t = "T", 
varname.s = "study") #将表格data1输入成参数data

network.char <- net.tab(data = data,
                        outcome = "R",
                        N = "N", 
                        type.outcome = "binomial",
                        time = NULL)  #实现参数的输出
print(data)
## $arm.data
## # A tibble: 25 × 4
##    study  T           N     R
##    <chr>  <chr>   <dbl> <dbl>
##  1 san    ctxslow    39    15
##  2 san    tacslow    42    16
##  3 si     ctxslow    24     5
##  4 si     mmfslow    23     6
##  5 ba     ctxslow    20     1
##  6 ba     mulslow    20    10
##  7 jiu    ctxslow    20     6
##  8 jiu    mmfslow    20     9
##  9 jiu    tacslow    20     9
## 10 shisan ctxfast    50    25
## # ℹ 15 more rows
## 
## $treatments
## # A tibble: 7 × 1
##   T      
##   <chr>  
## 1 ctxfast
## 2 ctxslow
## 3 mmffast
## 4 mmfslow
## 5 mulslow
## 6 tacslow
## 7 vocfast
## 
## $studies
## # A tibble: 12 × 1
##    study  
##    <chr>  
##  1 ba     
##  2 ershier
##  3 ershisi
##  4 jiu    
##  5 san    
##  6 shiba  
##  7 shijiu 
##  8 shiliu 
##  9 shiqi  
## 10 shisan 
## 11 shisi  
## 12 si     
## 
## $n.arms
## # A tibble: 12 × 2
##    study   n.arms
##    <chr>    <int>
##  1 ba           2
##  2 ershier      2
##  3 ershisi      2
##  4 jiu          3
##  5 san          2
##  6 shiba        2
##  7 shijiu       2
##  8 shiliu       2
##  9 shiqi        2
## 10 shisan       2
## 11 shisi        2
## 12 si           2
## 
## $varname.t
## [1] "T"
## 
## $varname.s
## [1] "study"
## 
## attr(,"class")
## [1] "BUGSnetData"
??network.char #教学
## 打开httpd帮助服务器… 好了

#画网状图

net.plot(data)

#选择效应模型

ranmodel <- nma.model(data = data,#随机效应模型
                      outcome = "R",
                      N = "N", 
                      reference="ctxslow",
                      family="binomial",
                      link="logit",
                      effects="random") #建立模型
## Warning: Unknown or uninitialised column: `sd`.
??nma.model

ranresults <- nma.run(ranmodel,
                      n.adapt=1000,
                      n.burnin=10000,
                      n.iter=50000) #运行模型
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 25
##    Unobserved stochastic nodes: 32
##    Total graph size: 569
## 
## Initializing model
fixmodel <- nma.model(data=data,#固定效应模型
                      outcome = "R",
                      N = "N", 
                      reference="ctxslow",
                      family="binomial",
                      link="logit",
                      effects="fixed",
                      sd = NULL)
## Warning: Unknown or uninitialised column: `sd`.
fixresults <- nma.run(fixmodel,
                      n.adapt=1000,
                      n.burnin=10000,
                      n.iter=50000)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 25
##    Unobserved stochastic nodes: 18
##    Total graph size: 526
## 
## Initializing model
??nma.run

#输出诊断图(Diagnostic plot),选择DIC最小的模型

par(mfrow=c(1,2))
nma.fit(ranresults, main= "random model")
## Warning in nma.fit(ranresults, main = "random model"): Leverage cannot be
## calculated for zero cells.
## $DIC
## [1] NaN
## 
## $Dres
## [1] 27.58237
## 
## $pD
## [1] NaN
## 
## $leverage
##                                                                           
## 1 0.3559842 0.7924677 NaN 0.5456982 0.8121302 1.009352 0.7722612 0.7807798
##                                                                       
## 1 0.9016629 0.9490217 0.8852822 0.7357541 0.919962 0.7149068 0.9995687
##                                                                       
## 1 0.6941508 0.7986344 0.9879383 0.7479476 0.9077212 0.9343481 0.946188
##                                
## 1 0.9210682 0.7233903 0.6508653
## 
## $w
##     r.1.1.     r.2.1.     r.3.1.     r.4.1.     r.5.1.     r.6.1.     r.7.1. 
## -1.4628762  0.9439790 -1.8361361 -0.7503795  1.0064615  1.0566477  0.8788279 
##     r.8.1.     r.9.1.    r.10.1.    r.11.1.    r.12.1.     r.1.2.     r.2.2. 
##  0.8869761 -0.9642400 -0.9741855 -0.9424244  0.9006083  1.2692334 -0.9215205 
##     r.3.2.     r.4.2.     r.5.2.     r.6.2.     r.7.2.     r.8.2.     r.9.2. 
##  1.4697377 -0.8400963 -0.9942089 -1.0325077 -0.8648826 -0.9536726  0.9783885 
##    r.10.2.    r.11.2.    r.12.2.     r.4.3. 
##  0.9727325  0.9608061 -0.8840046  0.8390891 
## 
## $pmdev
##  dev_a.1.1.  dev_a.2.1.  dev_a.3.1.  dev_a.4.1.  dev_a.5.1.  dev_a.6.1. 
##   2.1400069   0.8910964   3.3713958   0.5630694   1.0129647   1.1165043 
##  dev_a.7.1.  dev_a.8.1.  dev_a.9.1. dev_a.10.1. dev_a.11.1. dev_a.12.1. 
##   0.7723386   0.7867266   0.9297587   0.9490375   0.8881637   0.8110954 
##  dev_a.1.2.  dev_a.2.2.  dev_a.3.2.  dev_a.4.2.  dev_a.5.2.  dev_a.6.2. 
##   1.6109535   0.8491999   2.1601289   0.7057617   0.9884514   1.0660722 
##  dev_a.7.2.  dev_a.8.2.  dev_a.9.2. dev_a.10.2. dev_a.11.2. dev_a.12.2. 
##   0.7480220   0.9094914   0.9572441   0.9462085   0.9231484   0.7814642 
##  dev_a.4.3. 
##   0.7040705
nma.fit(fixresults, main ="fixed model" )
## Warning in nma.fit(fixresults, main = "fixed model"): Leverage cannot be
## calculated for zero cells.

## $DIC
## [1] NaN
## 
## $Dres
## [1] 28.94215
## 
## $pD
## [1] NaN
## 
## $leverage
##                                                                            
## 1 0.1941098 0.7115702 NaN 0.3835879 0.6163187 0.9928508 0.6767383 0.5570787
##                                                                        
## 1 0.8241577 0.9220939 0.7742487 0.6255326 0.7510127 0.6025514 0.9097314
##                                                                       
## 1 0.5896783 0.6218012 0.9684799 0.646007 0.8382775 0.8775562 0.9191788
##                                
## 1 0.8527868 0.6404246 0.4905574
## 
## $w
##     r.1.1.     r.2.1.     r.3.1.     r.4.1.     r.5.1.     r.6.1.     r.7.1. 
## -1.7662739  0.9326049 -1.9693365 -0.6427294  1.0805132  1.0879559 -0.8227106 
##     r.8.1.     r.9.1.    r.10.1.    r.11.1.    r.12.1.     r.1.2.     r.2.2. 
##  0.7628487 -0.9560651 -0.9602674 -0.8849978  0.8545428  1.4444345 -0.9036061 
##     r.3.2.     r.4.2.     r.5.2.     r.6.2.     r.7.2.     r.8.2.     r.9.2. 
##  1.5778177 -0.7733471 -1.0498429 -1.0521666  0.8038066 -0.9199851  0.9736959 
##    r.10.2.    r.11.2.    r.12.2.     r.4.3. 
##  0.9587732  0.9272975 -0.8524616  0.7454072 
## 
## $pmdev
##  dev_a.1.1.  dev_a.2.1.  dev_a.3.1.  dev_a.4.1.  dev_a.5.1.  dev_a.6.1. 
##   3.1197236   0.8697519   3.8782861   0.4131010   1.1675087   1.1836481 
##  dev_a.7.1.  dev_a.8.1.  dev_a.9.1. dev_a.10.1. dev_a.11.1. dev_a.12.1. 
##   0.6768528   0.5819382   0.9140605   0.9221134   0.7832211   0.7302435 
##  dev_a.1.2.  dev_a.2.2.  dev_a.3.2.  dev_a.4.2.  dev_a.5.2.  dev_a.6.2. 
##   2.0863909   0.8165039   2.4895088   0.5980657   1.1021701   1.1070545 
##  dev_a.7.2.  dev_a.8.2.  dev_a.9.2. dev_a.10.2. dev_a.11.2. dev_a.12.2. 
##   0.6461050   0.8463726   0.9480838   0.9192460   0.8598807   0.7266907 
##  dev_a.4.3. 
##   0.5556319
#算不出DIC不知道怎么解决,若是依据第二个参数决定,则选择随机效应模型
nma.diag(ranresults)

## Press [ENTER] to continue plotting trace plots (or type 'stop' to end plotting)>

## Press [ENTER] to continue plotting trace plots (or type 'stop' to end plotting)>

## $gelman.rubin
## $psrf
##       Point est. Upper C.I.
## d[2]    1.000944   1.001806
## d[3]    1.366634   2.069017
## d[4]    1.000681   1.002122
## d[5]    1.000422   1.001509
## d[6]    1.000390   1.001038
## d[7]    1.366568   2.068667
## sigma   1.001539   1.004704
## 
## $mpsrf
## [1] 1.234939
## 
## attr(,"class")
## [1] "gelman.rubin.results"
## 
## $geweke
## $stats
##          Chain 1      Chain 2    Chain 3
## d[2]  -2.0203711 -1.479560625 -0.9312995
## d[3]  -0.3784787 -0.325031220  2.0805119
## d[4]  -1.8235731 -1.002071371 -1.9261887
## d[5]  -0.5743604  0.044772307 -0.4557182
## d[6]  -2.9024467  0.801797645 -0.8450174
## d[7]  -0.3703438 -0.325448015  2.0423271
## sigma -0.3097959  0.005800912 -0.8304517
## 
## $frac1
## [1] 0.1
## 
## $frac2
## [1] 0.5
## 
## attr(,"class")
## [1] "geweke.results"

#选择一致性模型

inconmodel <- nma.model(data = data,
                        outcome = "R",
                        N = "N", 
                        reference="ctxslow",
                        family="binomial",
                        link="logit",
                        type = "inconsistency",
                        effects="random")
## Warning: Unknown or uninitialised column: `sd`.
inconresults<- nma.run(inconmodel,
                        n.adapt=5000,
                        n.burnin=3,
                        n.iter=20000)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 25
##    Unobserved stochastic nodes: 47
##    Total graph size: 533
## 
## Initializing model
conresults<- nma.model(data = data,
                       outcome = "R",
                       N = "N", 
                       reference="ctxslow",
                           family = "binomial",
                           link = "logit",
                           effects = "random",
                           type="consistency",)
## Warning: Unknown or uninitialised column: `sd`.
conresults <- nma.run(conresults,
                      n.adapt=5000,
                      n.burnin=3,
                      n.iter=20000)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 25
##    Unobserved stochastic nodes: 32
##    Total graph size: 569
## 
## Initializing model
par(mfrow=c(1,2))
nma.fit(conresults,main = "consistency" )
## Warning in nma.fit(conresults, main = "consistency"): Leverage cannot be
## calculated for zero cells.
## $DIC
## [1] NaN
## 
## $Dres
## [1] 27.52796
## 
## $pD
## [1] NaN
## 
## $leverage
##                                                                          
## 1 0.3807674 0.7925824 NaN 0.5476298 0.8275581 1.005241 0.7512784 0.779917
##                                                                       
## 1 0.9097601 0.9219575 0.8757634 0.7385188 0.9356071 0.7104301 1.001939
##                                                                       
## 1 0.6988889 0.802747 0.9773404 0.7339876 0.9206257 0.9472211 0.9310996
##                               
## 1 0.9201437 0.7304123 0.657638
## 
## $w
##     r.1.1.     r.2.1.     r.3.1.     r.4.1.     r.5.1.     r.6.1.     r.7.1. 
## -1.4656820  0.9395430 -1.8350514 -0.7508497  1.0269248  1.0552742  0.8667783 
##     r.8.1.     r.9.1.    r.10.1.    r.11.1.    r.12.1.     r.1.2.     r.2.2. 
##  0.8853111 -0.9628331 -0.9604073 -0.9374066  0.8952143  1.2667678 -0.9148861 
##     r.3.2.     r.4.2.     r.5.2.     r.6.2.     r.7.2.     r.8.2.     r.9.2. 
##  1.4741742 -0.8396718 -0.9995027 -1.0285979 -0.8567358 -0.9604769  0.9797496 
##    r.10.2.    r.11.2.    r.12.2.     r.4.3. 
##  0.9650082  0.9601159 -0.8867539  0.8367713 
## 
## $pmdev
##  dev_a.1.1.  dev_a.2.1.  dev_a.3.1.  dev_a.4.1.  dev_a.5.1.  dev_a.6.1. 
##   2.1482238   0.8827410   3.3674138   0.5637752   1.0545745   1.1136036 
##  dev_a.7.1.  dev_a.8.1.  dev_a.9.1. dev_a.10.1. dev_a.11.1. dev_a.12.1. 
##   0.7513046   0.7837758   0.9270475   0.9223822   0.8787311   0.8014086 
##  dev_a.1.2.  dev_a.2.2.  dev_a.3.2.  dev_a.4.2.  dev_a.5.2.  dev_a.6.2. 
##   1.6047006   0.8370166   2.1731897   0.7050487   0.9990056   1.0580136 
##  dev_a.7.2.  dev_a.8.2.  dev_a.9.2. dev_a.10.2. dev_a.11.2. dev_a.12.2. 
##   0.7339962   0.9225159   0.9599093   0.9312408   0.9218225   0.7863325 
##  dev_a.4.3. 
##   0.7001862
nma.fit(inconresults,main = "inconsistency")
## Warning in nma.fit(inconresults, main = "inconsistency"): Leverage cannot be
## calculated for zero cells.

## $DIC
## [1] NaN
## 
## $Dres
## [1] 28.09926
## 
## $pD
## [1] NaN
## 
## $leverage
##                                                                         
## 1 0.4261908 0.8233271 NaN 0.5540792 0.8562468 1.013849 1.03266 0.8244538
##                                                                                
## 1 0.9110295 1.021298 0.9184864 0.7807206 0.9590641 0.7553314 1.028758 0.7553367
##                                                                                
## 1 0.8411754 0.9790015 1.051092 0.9330515 0.9354141 1.015662 0.9414785 0.7578589
##           
## 1 0.706121
## 
## $w
##     r.1.1.     r.2.1.     r.3.1.     r.4.1.     r.5.1.     r.6.1.     r.7.1. 
## -1.3989091  0.9546478 -1.7928626 -0.7536378  1.0153448  1.0490591  1.0162206 
##     r.8.1.     r.9.1.    r.10.1.    r.11.1.    r.12.1.     r.1.2.     r.2.2. 
##  0.9108063 -0.9627123 -1.0106059 -0.9599298  0.9193610  1.2405317 -0.9391352 
##     r.3.2.     r.4.2.     r.5.2.     r.6.2.     r.7.2.     r.8.2.     r.9.2. 
##  1.4350745 -0.8719611 -1.0023062 -1.0238485 -1.0253724 -0.9668896  0.9734387 
##    r.10.2.    r.11.2.    r.12.2.     r.4.3. 
##  1.0078482  0.9712304 -0.8998323  0.8625290 
## 
## $pmdev
##  dev_a.1.1.  dev_a.2.1.  dev_a.3.1.  dev_a.4.1.  dev_a.5.1.  dev_a.6.1. 
##   1.9569466   0.9113525   3.2143563   0.5679700   1.0309251   1.1005250 
##  dev_a.7.1.  dev_a.8.1.  dev_a.9.1. dev_a.10.1. dev_a.11.1. dev_a.12.1. 
##   1.0327043   0.8295681   0.9268149   1.0213243   0.9214652   0.8452247 
##  dev_a.1.2.  dev_a.2.2.  dev_a.3.2.  dev_a.4.2.  dev_a.5.2.  dev_a.6.2. 
##   1.5389188   0.8819748   2.0594388   0.7603162   1.0046177   1.0482658 
##  dev_a.7.2.  dev_a.8.2.  dev_a.9.2. dev_a.10.2. dev_a.11.2. dev_a.12.2. 
##   1.0513886   0.9348755   0.9475829   1.0157580   0.9432886   0.8096982 
##  dev_a.4.3. 
##   0.7439562
#选择一致性

#绘制森林图

options(scipen = 1)
nma.forest(nma = ranresults,
           comparator = "ctxslow",
           )

#不知道为什么横坐标是
??nma.forest


??data.prep

try1 <- nma.model(
  data = data,
  outcome = "R",
  N = "N",
  reference = "ctxslow",
  family = "binomial",
  link = "logit",
  effects = "random",
  type = "consistency",
  time = NULL
)
## Warning: Unknown or uninitialised column: `sd`.
try.run <- nma.run(
  model = try1,
  n.adapt = 100,
  n.burnin = 0,
  n.iter = 100
                 )
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 25
##    Unobserved stochastic nodes: 32
##    Total graph size: 569
## 
## Initializing model
??nma.run

#make forest plot
nma.forest(nma = try.run,comparator = "vocfast")

#两两对比森林图

#ctx缓慢减量对比mmf缓慢减量
pma(data = data,
    type.outcome="binomial",
    sm="OR",
    name.trt1 = "ctxslow", 
    name.trt2 = "mmfslow", 
    outcome = "R",
    N = "N")

## $summary
##            comparison n.studies i.squared re.estimate    re.lci   re.uci
## 1 ctxslow vs. mmfslow         4         0   0.5932529 0.2857987 1.231458
##   fe.estimate    fe.lci   fe.uci
## 1   0.5441868 0.2696855 1.098091
## 
## $forest
## $forest$xlim
## [1] -6.028214  6.028214
## 
## $forest$addrows.below.overall
## [1] 0
## 
## $forest$colgap
## [1] 2mm
## 
## $forest$colgap.left
## [1] 2mm
## 
## $forest$colgap.right
## [1] 2mm
## 
## $forest$colgap.studlab
## [1] 2mm
## 
## $forest$colgap.forest
## [1] 2mm
## 
## $forest$colgap.forest.left
## [1] 2mm
## 
## $forest$colgap.forest.right
## [1] 2mm
## 
## $forest$studlab
## [1] "si"      "jiu"     "ershier" "ershisi"
## 
## $forest$TE.format
## [1] ""        ""        ""        "-0.2935" "-0.6466" "-0.2048" "-2.9348"
## 
## $forest$seTE.format
## [1] ""       ""       ""       "0.6915" "0.6634" "0.6406" "1.5783"
## 
## $forest$cluster.format
## [1] "" "" ""
## 
## $forest$cycles.format
## [1] "" "" ""
## 
## $forest$effect.format
## [1] "0.54" "0.59" ""     "0.75" "0.52" "0.81" "0.05"
## 
## $forest$ci.format
## [1] "[0.27; 1.10]" "[0.29; 1.23]" ""             "[0.19; 2.89]" "[0.14; 1.92]"
## [6] "[0.23; 2.86]" "[0.00; 1.17]"
## 
## $forest$effect.ci.format
## [1] "0.54 [0.27; 1.10]" "0.59 [0.29; 1.23]" ""                 
## [4] "0.75 [0.19; 2.89]" "0.52 [0.14; 1.92]" "0.81 [0.23; 2.86]"
## [7] "0.05 [0.00; 1.17]"
## 
## $forest[[18]]
## NULL
## 
## $forest[[19]]
## NULL
## 
## $forest$figheight
##   total_height total_rows height_per_row spacing
## 1          2.8         14            0.2       1
## 
## $forest$leftcols
## [1] "col.studlab" "col.event.e" "col.n.e"     "col.event.c" "col.n.c"    
## 
## $forest$leftlabs
## NULL
## 
## $forest$rightcols
## [1] "col.effect"   "col.ci"       "col.w.common" "col.w.random"
## 
## $forest$rightlabs
## NULL
## 
## 
## $raw
## Number of studies: k = 4
## Number of observations: o = 147 (o.e = 78, o.c = 69)
## Number of events: e = 50
## 
##                          OR           95%-CI     z p-value
## Common effect model  0.5442 [0.2697; 1.0981] -1.70  0.0894
## Random effects model 0.5933 [0.2858; 1.2315] -1.40  0.1611
## 
## Quantifying heterogeneity (with 95%-CIs):
##  tau^2 = 0; tau = 0; I^2 = 0.0% [0.0%; 84.7%]; H = 1.00 [1.00; 2.56]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  2.78    3  0.4267
## 
## Details of meta-analysis methods:
## - Mantel-Haenszel method (common effect model)
## - Inverse variance method (random effects model)
## - DerSimonian-Laird estimator for tau^2
## - Mantel-Haenszel estimator used in calculation of Q and tau^2 (like RevMan 5)
## - Calculation of I^2 based on Q
## - Continuity correction of 0.5 in studies with zero cell frequencies
#不知道为什么改变trt1和trt2的位置森林图里的实验组和对照组不改变位置
#异质性小无统计学意义
??pma

#ctx缓慢减量对比tac缓慢减量
pma(data = data,
    type.outcome="binomial",
    sm="OR",
    name.trt1 = "ctxslow", 
    name.trt2 = "tacslow", 
    outcome = "R",
    N = "N")

## $summary
##            comparison n.studies i.squared re.estimate   re.lci    re.uci
## 1 ctxslow vs. tacslow         3         0   0.6389882 0.429002 0.9517578
##   fe.estimate    fe.lci    fe.uci
## 1   0.6391702 0.4297211 0.9507062
## 
## $forest
## $forest$xlim
## [1] -1.946891  1.946891
## 
## $forest$addrows.below.overall
## [1] 0
## 
## $forest$colgap
## [1] 2mm
## 
## $forest$colgap.left
## [1] 2mm
## 
## $forest$colgap.right
## [1] 2mm
## 
## $forest$colgap.studlab
## [1] 2mm
## 
## $forest$colgap.forest
## [1] 2mm
## 
## $forest$colgap.forest.left
## [1] 2mm
## 
## $forest$colgap.forest.right
## [1] 2mm
## 
## $forest$studlab
## [1] "san"   "jiu"   "shiqi"
## 
## $forest$TE.format
## [1] ""        ""        ""        "0.0155"  "-0.6466" "-0.5506"
## 
## $forest$seTE.format
## [1] ""       ""       ""       "0.4575" "0.6634" "0.2415"
## 
## $forest$cluster.format
## [1] "" "" ""
## 
## $forest$cycles.format
## [1] "" "" ""
## 
## $forest$effect.format
## [1] "0.64" "0.64" ""     "1.02" "0.52" "0.58"
## 
## $forest$ci.format
## [1] "[0.43; 0.95]" "[0.43; 0.95]" ""             "[0.41; 2.49]" "[0.14; 1.92]"
## [6] "[0.36; 0.93]"
## 
## $forest$effect.ci.format
## [1] "0.64 [0.43; 0.95]" "0.64 [0.43; 0.95]" ""                 
## [4] "1.02 [0.41; 2.49]" "0.52 [0.14; 1.92]" "0.58 [0.36; 0.93]"
## 
## $forest[[18]]
## NULL
## 
## $forest[[19]]
## NULL
## 
## $forest$figheight
##   total_height total_rows height_per_row spacing
## 1          2.6         13            0.2       1
## 
## $forest$leftcols
## [1] "col.studlab" "col.event.e" "col.n.e"     "col.event.c" "col.n.c"    
## 
## $forest$leftlabs
## NULL
## 
## $forest$rightcols
## [1] "col.effect"   "col.ci"       "col.w.common" "col.w.random"
## 
## $forest$rightlabs
## NULL
## 
## 
## $raw
## Number of studies: k = 3
## Number of observations: o = 420 (o.e = 201, o.c = 219)
## Number of events: e = 161
## 
##                          OR           95%-CI     z p-value
## Common effect model  0.6392 [0.4297; 0.9507] -2.21  0.0271
## Random effects model 0.6390 [0.4290; 0.9518] -2.20  0.0276
## 
## Quantifying heterogeneity (with 95%-CIs):
##  tau^2 = 0; tau = 0; I^2 = 0.0% [0.0%; 89.6%]; H = 1.00 [1.00; 3.10]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  1.30    2  0.5229
## 
## Details of meta-analysis methods:
## - Mantel-Haenszel method (common effect model)
## - Inverse variance method (random effects model)
## - DerSimonian-Laird estimator for tau^2
## - Mantel-Haenszel estimator used in calculation of Q and tau^2 (like RevMan 5)
## - Calculation of I^2 based on Q
#异质性小有统计学差异

#mmf快速减量对比voc快速减量
pma(data = data,
    type.outcome="binomial",
    sm="OR",
    name.trt1 = "mmffast", 
    name.trt2 = "vocfast", 
    outcome = "R",
    N = "N")

## $summary
##            comparison n.studies i.squared re.estimate    re.lci    re.uci
## 1 mmffast vs. vocfast         2         0   0.5288887 0.3611352 0.7745667
##   fe.estimate    fe.lci    fe.uci
## 1   0.5294187 0.3613511 0.7756562
## 
## $forest
## $forest$xlim
## [1] -1.198777  1.198777
## 
## $forest$addrows.below.overall
## [1] 0
## 
## $forest$colgap
## [1] 2mm
## 
## $forest$colgap.left
## [1] 2mm
## 
## $forest$colgap.right
## [1] 2mm
## 
## $forest$colgap.studlab
## [1] 2mm
## 
## $forest$colgap.forest
## [1] 2mm
## 
## $forest$colgap.forest.left
## [1] 2mm
## 
## $forest$colgap.forest.right
## [1] 2mm
## 
## $forest$studlab
## [1] "shisi"  "shiliu"
## 
## $forest$TE.format
## [1] ""        ""        ""        "-0.6721" "-0.5795"
## 
## $forest$seTE.format
## [1] ""       ""       ""       "0.2471" "0.3160"
## 
## $forest$cluster.format
## [1] "" "" ""
## 
## $forest$cycles.format
## [1] "" "" ""
## 
## $forest$effect.format
## [1] "0.53" "0.53" ""     "0.51" "0.56"
## 
## $forest$ci.format
## [1] "[0.36; 0.78]" "[0.36; 0.77]" ""             "[0.31; 0.83]" "[0.30; 1.04]"
## 
## $forest$effect.ci.format
## [1] "0.53 [0.36; 0.78]" "0.53 [0.36; 0.77]" ""                 
## [4] "0.51 [0.31; 0.83]" "0.56 [0.30; 1.04]"
## 
## $forest[[18]]
## NULL
## 
## $forest[[19]]
## NULL
## 
## $forest$figheight
##   total_height total_rows height_per_row spacing
## 1          2.4         12            0.2       1
## 
## $forest$leftcols
## [1] "col.studlab" "col.event.e" "col.n.e"     "col.event.c" "col.n.c"    
## 
## $forest$leftlabs
## NULL
## 
## $forest$rightcols
## [1] "col.effect"   "col.ci"       "col.w.common" "col.w.random"
## 
## $forest$rightlabs
## NULL
## 
## 
## $raw
## Number of studies: k = 2
## Number of observations: o = 622 (o.e = 266, o.c = 356)
## Number of events: e = 163
## 
##                          OR           95%-CI     z p-value
## Common effect model  0.5294 [0.3614; 0.7757] -3.26  0.0011
## Random effects model 0.5289 [0.3611; 0.7746] -3.27  0.0011
## 
## Quantifying heterogeneity:
##  tau^2 = 0; tau = 0; I^2 = 0.0%; H = 1.00
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  0.05    1  0.8173
## 
## Details of meta-analysis methods:
## - Mantel-Haenszel method (common effect model)
## - Inverse variance method (random effects model)
## - DerSimonian-Laird estimator for tau^2
## - Mantel-Haenszel estimator used in calculation of Q and tau^2 (like RevMan 5)
## - Calculation of I^2 based on Q
#异质性小有统计学意义

#ctx缓慢减量对比多靶点缓慢减量
pma(data = data,
    type.outcome="binomial",
    sm="OR",
    name.trt1 = "ctxslow", 
    name.trt2 = "mulslow", 
    outcome = "R",
    N = "N")

## $summary
##            comparison n.studies i.squared re.estimate    re.lci  re.uci
## 1 ctxslow vs. mulslow         2 0.6884099   0.1948402 0.0285524 1.32958
##   fe.estimate    fe.lci    fe.uci
## 1   0.3557971 0.2318916 0.5459085
## 
## $forest
## $forest$xlim
## [1] -5.138051  5.138051
## 
## $forest$addrows.below.overall
## [1] 0
## 
## $forest$colgap
## [1] 2mm
## 
## $forest$colgap.left
## [1] 2mm
## 
## $forest$colgap.right
## [1] 2mm
## 
## $forest$colgap.studlab
## [1] 2mm
## 
## $forest$colgap.forest
## [1] 2mm
## 
## $forest$colgap.forest.left
## [1] 2mm
## 
## $forest$colgap.forest.right
## [1] 2mm
## 
## $forest$studlab
## [1] "ba"    "shiba"
## 
## $forest$TE.format
## [1] ""        ""        ""        "-2.9444" "-0.9105"
## 
## $forest$seTE.format
## [1] ""       ""       ""       "1.1192" "0.2267"
## 
## $forest$cluster.format
## [1] "" "" ""
## 
## $forest$cycles.format
## [1] "" "" ""
## 
## $forest$effect.format
## [1] "0.36" "0.19" ""     "0.05" "0.40"
## 
## $forest$ci.format
## [1] "[0.23; 0.55]" "[0.03; 1.33]" ""             "[0.01; 0.47]" "[0.26; 0.63]"
## 
## $forest$effect.ci.format
## [1] "0.36 [0.23; 0.55]" "0.19 [0.03; 1.33]" ""                 
## [4] "0.05 [0.01; 0.47]" "0.40 [0.26; 0.63]"
## 
## $forest[[18]]
## NULL
## 
## $forest[[19]]
## NULL
## 
## $forest$figheight
##   total_height total_rows height_per_row spacing
## 1          2.4         12            0.2       1
## 
## $forest$leftcols
## [1] "col.studlab" "col.event.e" "col.n.e"     "col.event.c" "col.n.c"    
## 
## $forest$leftlabs
## NULL
## 
## $forest$rightcols
## [1] "col.effect"   "col.ci"       "col.w.common" "col.w.random"
## 
## $forest$rightlabs
## NULL
## 
## 
## $raw
## Number of studies: k = 2
## Number of observations: o = 402 (o.e = 201, o.c = 201)
## Number of events: e = 140
## 
##                          OR           95%-CI     z  p-value
## Common effect model  0.3558 [0.2319; 0.5459] -4.73 < 0.0001
## Random effects model 0.1948 [0.0286; 1.3296] -1.67   0.0951
## 
## Quantifying heterogeneity (with 95%-CIs):
##  tau^2 = 1.4405; tau = 1.2002; I^2 = 68.8% [0.0%; 93.0%]; H = 1.79 [1.00; 3.77]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  3.21    1  0.0732
## 
## Details of meta-analysis methods:
## - Mantel-Haenszel method (common effect model)
## - Inverse variance method (random effects model)
## - DerSimonian-Laird estimator for tau^2
## - Mantel-Haenszel estimator used in calculation of Q and tau^2 (like RevMan 5)
## - Calculation of I^2 based on Q
#I2=68.8,异质性偏大P=0.07,普通模型有意义,随机效应模型无意义

#mmf快速减量对比ctx缓慢减量;ctx快速减量对比缓慢减量,都仅一个研究,都没意义
pma(data = data,
    type.outcome="binomial",
    sm="OR",
    name.trt1 = "mmfslow", 
    name.trt2 = "ctxfast", 
    outcome = "R",
    N = "N")

## $summary
##            comparison n.studies i.squared re.estimate    re.lci   re.uci
## 1 mmfslow vs. ctxfast         1        NA   0.8518519 0.3884504 1.868067
##   fe.estimate    fe.lci   fe.uci
## 1   0.8518519 0.3884504 1.868067
## 
## $forest
## $forest$xlim
## [1] -0.9455897  0.9455897
## 
## $forest$addrows.below.overall
## [1] 0
## 
## $forest$colgap
## [1] 2mm
## 
## $forest$colgap.left
## [1] 2mm
## 
## $forest$colgap.right
## [1] 2mm
## 
## $forest$colgap.studlab
## [1] 2mm
## 
## $forest$colgap.forest
## [1] 2mm
## 
## $forest$colgap.forest.left
## [1] 2mm
## 
## $forest$colgap.forest.right
## [1] 2mm
## 
## $forest$studlab
## [1] "shisan"
## 
## $forest$TE.format
## [1] ""        ""        ""        "-0.1603"
## 
## $forest$seTE.format
## [1] ""       ""       ""       "0.4006"
## 
## $forest$cluster.format
## [1] "" "" ""
## 
## $forest$cycles.format
## [1] "" "" ""
## 
## $forest$effect.format
## [1] ""     ""     ""     "0.85"
## 
## $forest$ci.format
## [1] ""             ""             ""             "[0.39; 1.87]"
## 
## $forest$effect.ci.format
## [1] ""                  ""                  ""                 
## [4] "0.85 [0.39; 1.87]"
## 
## $forest[[18]]
## NULL
## 
## $forest[[19]]
## NULL
## 
## $forest$figheight
##   total_height total_rows height_per_row spacing
## 1          1.2          6            0.2       1
## 
## $forest$leftcols
## [1] "col.studlab" "col.event.e" "col.n.e"     "col.event.c" "col.n.c"    
## 
## $forest$leftlabs
## NULL
## 
## $forest$rightcols
## [1] "col.effect" "col.ci"    
## 
## $forest$rightlabs
## NULL
## 
## 
## $raw
## Number of observations: o = 100 (o.e = 50, o.c = 50)
## Number of events: e = 52
## 
##      OR           95%-CI     z p-value
##  0.8519 [0.3885; 1.8681] -0.40  0.6890
pma(data = data,
    type.outcome="binomial",
    sm="OR",
    name.trt1 = "ctxslow", 
    name.trt2 = "ctxfast", 
    outcome = "R",
    N = "N")

## $summary
##            comparison n.studies i.squared re.estimate    re.lci   re.uci
## 1 ctxslow vs. ctxfast         1        NA        0.64 0.1278929 3.202679
##   fe.estimate    fe.lci   fe.uci
## 1        0.64 0.1278929 3.202679
## 
## $forest
## $forest$xlim
## [1] -2.056562  2.056562
## 
## $forest$addrows.below.overall
## [1] 0
## 
## $forest$colgap
## [1] 2mm
## 
## $forest$colgap.left
## [1] 2mm
## 
## $forest$colgap.right
## [1] 2mm
## 
## $forest$colgap.studlab
## [1] 2mm
## 
## $forest$colgap.forest
## [1] 2mm
## 
## $forest$colgap.forest.left
## [1] 2mm
## 
## $forest$colgap.forest.right
## [1] 2mm
## 
## $forest$studlab
## [1] "shijiu"
## 
## $forest$TE.format
## [1] ""        ""        ""        "-0.4463"
## 
## $forest$seTE.format
## [1] ""       ""       ""       "0.8216"
## 
## $forest$cluster.format
## [1] "" "" ""
## 
## $forest$cycles.format
## [1] "" "" ""
## 
## $forest$effect.format
## [1] ""     ""     ""     "0.64"
## 
## $forest$ci.format
## [1] ""             ""             ""             "[0.13; 3.20]"
## 
## $forest$effect.ci.format
## [1] ""                  ""                  ""                 
## [4] "0.64 [0.13; 3.20]"
## 
## $forest[[18]]
## NULL
## 
## $forest[[19]]
## NULL
## 
## $forest$figheight
##   total_height total_rows height_per_row spacing
## 1          1.2          6            0.2       1
## 
## $forest$leftcols
## [1] "col.studlab" "col.event.e" "col.n.e"     "col.event.c" "col.n.c"    
## 
## $forest$leftlabs
## NULL
## 
## $forest$rightcols
## [1] "col.effect" "col.ci"    
## 
## $forest$rightlabs
## NULL
## 
## 
## $raw
## Number of observations: o = 27 (o.e = 13, o.c = 14)
## Number of events: e = 18
## 
##      OR           95%-CI     z p-value
##  0.6400 [0.1279; 3.2027] -0.54  0.5870

#累计疗效排序图(SUCRA plot)

sucra <- nma.rank(try.run,
                      largerbetter=T, 
                      sucra.palette= "Set1")
## Warning: `separate_()` was deprecated in tidyr 1.2.0.
## ℹ Please use `separate()` instead.
## ℹ The deprecated feature was likely used in the BUGSnet package.
##   Please report the issue at <https://github.com/audrey-b/BUGSnet/issues>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
??nma.rank
#形式1
sucra$rankogram

#形式2
sucra$sucraplot

??pdflatex