r语言 同行名的予以合并_R语言meta分析(7)诊断性meta分析(meta4diag包)

R语言meta分析(1)meta包

R语言meta分析(2)单个率的Meta分析

R语言meta分析(3)亚组分析

R语言meta分析(4)网状Meta 分析

R语言meta分析(5)累积Meta分析

R语言meta分析(6)一文解决诊断性meta分析(第一章)

R语言meta分析(7)诊断性meta分析(meta4diag包)

meta4diag程序包是R软件中专用于实现诊断准确性试验(diagnostic test accuracy,DTA) Meta分析的程序包,该程序包基于贝叶斯理论采用INLA(integrated nested Laplace approximation)法来对 单个研究效应值进行合并,同时,该程序包还提供了SROC(Summary Receiving Operation Characteristic) 曲线图的分析与绘制,然而其缺陷在于无法给出异质性检验及风险偏倚评估。本文以实例形式就 meta4diag程序包实现诊断准确性试验DTA Meta分析的数据准备与分析、结果汇总及图形绘制等功能作相 关简述。

基于诊断试验合并原则,多个具有相似特征的原始研究应当被纳入,然而由于各试验间特征 性差异及抽样误差等混杂因素干扰,且各研究间可能采用不同的截断值等因素影响,导致所报告 的诊断试验准确度的评价指标呈现一定的异质性。诊断性试验(diagnostic test accuracy,DTA) Meta分析通过对原始研究设计,研究质量,阈值 效应等因素进行定量分析,以求获得综合的诊断 试验评价指标,致使基于DTA的Meta分析成为 循证诊断高质量证据的重要来源之一。

R语言作为一款功能强大的统计和制图软 件,可独立完成诊断试验Meta分析的所有统计学 分析,用于诊断性试验Meta分析的程序包诸多且 使用方法多样,其方法主要分为频率学派与贝 叶斯学派,meta4diag程序包就是典型基于贝叶 斯框架下完成的,其数据合并采用INLA法,该 程序包专用于DTA Meta分析而研发,本文将以 Walusimbi等发表的文章中的GeneXpert组的数据为例,来演示该程序包的使用方法。

7f540ea3d403e705b48295823b641c81.png

程序包的安装及加载

  1. install.packages(‘meta4diag’)
  2. install.packages(“INLA”, repos=”http://www. math.ntnu.no/inla/R/testing”) install.packages(‘sp’)
  3. library(meta4diag)
  4. library(INLA)

数据导入

  1. > setwd('D:trainmetameta')
  2. >
  3. > META <- read.csv('META.csv', header = T)
  4. >
  5. > head(META)
  6. studynames TP FN FP TN
  7. 1 AH_2010 38 15 0 25
  8. 2 BO_2011 6 0 0 73
  9. 3 CL_2012 21 4 0 23
  10. 4 DF_2013 61 17 0 20
  11. 5 HA_2014 43 12 0 47
  12. 6 ARR_2013 22 25 19 319

数据合并

  1. > res <- meta4diag(META)
  2. >
  3. > summary(res)
  4. Time used:
  5. Pre-processing Running inla Post-processing Total
  6. 0.5096691 0.9253111 0.2472808 1.6822610
  7. Fixed effects:
  8. mean sd 0.025quant 0.5quant 0.975quant
  9. mu 0.787 0.207 0.388 0.782 1.214
  10. nu 4.729 0.592 3.811 4.641 6.173
  11. Model hyperpar:
  12. mean sd 0.025quant 0.5quant 0.975quant
  13. var_phi 0.412 0.262 0.107 0.346 1.104
  14. var_psi 1.970 1.919 0.284 1.385 7.160
  15. cor 0.102 0.354 -0.585 0.112 0.734
  16. -------------------
  17. mean sd 0.025quant 0.5quant 0.975quant
  18. mean(Se) 0.686 0.040 0.605 0.686 0.762
  19. mean(Sp) 0.990 0.005 0.979 0.990 0.997
  20. -------------------
  21. Correlation between mu and nu is 0.0545.
  22. Marginal log-likelihood: -78.2514
  23. Variable names for marginal plotting:
  24. mu, nu, var1, var2, rho
  25. >

单个效应值的合并

该程序包还提供了合并单 个效应值的功能,其相应命令如下: fitted(res, accuracy.type="sens") 该命令是基于INLA所创建的模型,计算每个 诊断试验的单个效应值,其中accuracy.type是效 应值类型,可选参数包括"sens", "TPR", "spec", "TNR","FPR", "FNR", "LRpos", "LRneg", "RD", "LLRpos", "LLRneg", "LDOR",和 "DOR"。

  1. > fitted(res, accuracy.type="sens")
  2. Diagnostic accuracies true positive rate (sensitivity):
  3. mean sd 0.025quant 0.5quant 0.975quant
  4. AH_2010 0.7074 0.05499 0.5946 0.7093 0.8096
  5. BO_2011 0.7685 0.09458 0.5656 0.7748 0.9317
  6. CL_2012 0.7749 0.06673 0.6350 0.7784 0.8946
  7. DF_2013 0.7629 0.04416 0.6721 0.7644 0.8447
  8. HA_2014 0.7571 0.05128 0.6513 0.7591 0.8516
  9. ARR_2013 0.5144 0.06893 0.3779 0.5152 0.6465
  10. LK_2016 0.6386 0.08507 0.4605 0.6430 0.7928
  11. GF_2017 0.6347 0.08590 0.4558 0.6388 0.7911
  12. FD_2018 0.4890 0.06544 0.3595 0.4897 0.6145
  13. SE_2019 0.8173 0.06072 0.6889 0.8212 0.9237
  14. TF_2013 0.6461 0.11370 0.3998 0.6545 0.8456
  15. OK_2013 0.6740 0.08201 0.5033 0.6778 0.8234
  16. UH_2017 0.6079 0.06622 0.4730 0.6100 0.7314
  17. FF_2011 0.6701 0.07933 0.5044 0.6739 0.8143
  18. JF_2012 0.6147 0.11180 0.3729 0.6237 0.8090
  19. > fitted(res, accuracy.type="spec")
  20. Diagnostic accuracies true negative rate (specificity):
  21. mean sd 0.025quant 0.5quant 0.975quant
  22. AH_2010 0.9879 0.014480 0.9518 0.9919 0.9997
  23. BO_2011 0.9918 0.008369 0.9702 0.9941 0.9998
  24. CL_2012 0.9878 0.015640 0.9482 0.9923 0.9998
  25. DF_2013 0.9874 0.016360 0.9465 0.9921 0.9997
  26. HA_2014 0.9902 0.010480 0.9633 0.9932 0.9997
  27. ARR_2013 0.9474 0.012110 0.9213 0.9483 0.9686
  28. LK_2016 0.9873 0.009003 0.9643 0.9893 0.9981
  29. GF_2017 0.9751 0.013390 0.9420 0.9777 0.9932
  30. FD_2018 0.9913 0.004790 0.9797 0.9921 0.9980
  31. SE_2019 0.9628 0.029530 0.8848 0.9710 0.9952
  32. TF_2013 0.9726 0.018170 0.9257 0.9770 0.9946
  33. OK_2013 0.9672 0.023180 0.9064 0.9731 0.9940
  34. UH_2017 0.9939 0.005110 0.9809 0.9951 0.9997
  35. FF_2011 0.9872 0.015720 0.9484 0.9915 0.9996
  36. JF_2012 0.9943 0.004821 0.9820 0.9955 0.9997

绘制十字交叉图

分析中重要的两个观察指标。灵敏度,即真阳性 率,是指检验方法检出患者的百分率;特异度, 即真阴性率,是指检验方法排除患者的百分率。 为了展现两者关系,通常采用crosshair()命令来进 行绘制十字交叉图,其具体命令如下:

  1. crosshair(res, est.type="mean")

853aed8e4cb321ea8e20bdf3c6eca419.png

十字交叉图显示的是每个纳入研究 的灵敏度、假阳性率值及可信区间,命令中est. type可选参数有"mean"和"median"。

SROC曲线图

在DTA Meta分析中,制作者通 常需要采用SROC曲线对待评价诊断措施进行总 体性评价。具体SROC曲线绘制命令如下: SROC(res, est.type="mean") SROC曲线图显示结果越接近图形的 左上角,该试验的诊断价值越高,程序包默认 SROC曲线为黑色粗线,置信区间为蓝色虚线,预测区间为灰色虚线,颜色及线条类型可根据需要调改。

  1. SROC(res, est.type="mean")

ee1ed8eef3875fddd443805d6a28e4d5.png

合并的敏感 度与特异度(森林图)

为了充分展示单个研究及合并的敏感 度与特异度,该程序包以森林图形式进行展示。 forest()函数可完成森林图绘制功能,其命令如 下:

  1. forest(res, accuracy.type = "sens",nameShow= "left")
  2. forest(res, accuracy.type = "spec",nameShow= "left")

be29c0debbe52d2ba2ed5b55a5a74c2e.png

0e5dd852d407c982158b8f86847f8c5d.png

森林图显示的是单个效应量的 合并,accuracy.type的可选参数与fitted( )相同, nameShow和ciShow表示研究名称和置信区间是否 在图形中显示以及它们的对称方式,其他图形相 关参数可根据需要调整。

后验密度分布图

后验分布图展现了 基于贝叶斯原理合并后后验结果分布趋势,它显 示了两个研究指标的相对重要性,其中var.type的 可选参数可从summary()的结果中获取。图形绘制 命令如下:

  1. plot(res, var.type="var1")

454779c343f9d09c225c16af99245ee6.png

meta4diag程序包通过软件内在处理简化了 贝叶斯推理过程中的复杂性,为简易制作DTA Meta分析提供了可能。在方法上,该程序包采 用Bayesian 两变量分层模型(Bayesian bivariate hierarchical model),与经典的SROC方法相 比,其优势主要体现在:第一,充分考虑了各个层次间变异,而非仅仅是界定为不同分界值上的 变异;第二,对于频数的直接模拟,避免了直接应用敏感度特异度等指标时对极端值进行调整所带来的校正误差。在图形绘制上,该程序 包相对于其他诊断试验Meta分析程序包的功能更 加全面,尤其是SROC曲线图的绘制十分灵活, 包括五种SROC曲线计算方法,丰富的线条类型 及颜色使图形更加美观,且携带信息更加直观。 然而,该程序包也有一定缺陷,即没有提供相应 的异质性检验及风险偏倚评估。随着,DTA Meta分析方法学的完善及该程序包不断更新,期 待更优质方法及完善功能被融入其中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值