最近在后臺(tái)有不少讀者留言想要了解一下網(wǎng)狀meta分析独柑,而我恰好前兩天幫一位醫(yī)生朋友處理了一次連續(xù)型變量的網(wǎng)狀meta分析刮便,那么本文我將以其中的部分?jǐn)?shù)據(jù)為例,向大家詳細(xì)展示一下此需求是如何用R軟件實(shí)現(xiàn)的。需要本教程的原始數(shù)據(jù)及完整程序命令的可在公你辣,眾號(hào)(全哥的學(xué)習(xí)生涯)內(nèi)回眷细,復(fù)“網(wǎng)狀meta”拦盹。
1. 網(wǎng)狀meta分析的理論基礎(chǔ)
網(wǎng)狀meta分析是傳統(tǒng)meta分析的拓展,可同時(shí)比較三個(gè)或三個(gè)以上干預(yù)措施的療效溪椎,其主要包括調(diào)整間接比較和混合治療分析普舆。間接比較是指通過(guò)干預(yù)措施A vs C和干預(yù)措施B vs C的結(jié)果,間接得出A vs B的相對(duì)效果的一種方法校读。目前認(rèn)為沼侣,Meta分析中進(jìn)行間接比較的原因有二:一是無(wú)直接比較的原始研究;二是有直接比較的原始研究但這些研究數(shù)量較少或質(zhì)量較低;混合治療分析是在直接比較的基礎(chǔ)上合并間接比較的證據(jù),從而提高分析結(jié)果的精確性歉秫,但是這種方法主要是應(yīng)用于干預(yù)措施可以形成具有閉合環(huán)路( loop)時(shí)蛾洛。
網(wǎng)狀meta分析的最大優(yōu)勢(shì)就是可以對(duì)治療同類(lèi)疾病的不同干預(yù)措施進(jìn)行量化比較,并按照某一結(jié)果指標(biāo)效果好壞進(jìn)行排序端考,進(jìn)而選擇最優(yōu)治療方案雅潭。網(wǎng)狀meta分析的基本假設(shè)包括同質(zhì)性假設(shè)、相似性假設(shè)及一致性假設(shè)却特。其統(tǒng)計(jì)方法主要包括頻率學(xué)法和貝葉斯方法扶供。
2. 準(zhǔn)備工作
2.1 安裝與加載
本教程使用的R軟件版本為3.6.2,RStudio版本為1.2.1335裂明,需要軟件的讀者可在公椿浓,眾號(hào)(全哥的學(xué)習(xí)生涯)內(nèi)回,復(fù)“R”,”RS”自取。同時(shí)扳碍,我們還需要安裝一款基于馬爾科夫鏈-蒙特卡羅(Markov Chain Monte Carlo提岔,MCMC)法的軟件:JAGS,以完成對(duì)數(shù)據(jù)的建模笋敞、迭代運(yùn)算等碱蒙,需要本軟件的伙伴可以在以下地址中下載:
https://nchc.dl.sourceforge.net/project/mcmcjags/JAGS/4.x/Windows/JAGS-4.3.0.exe
若下載緩慢,可直接在公夯巷,眾號(hào)(全哥的學(xué)習(xí)生涯)內(nèi)回赛惩,,復(fù)“JAGS”獲取本軟件趁餐。
同時(shí)喷兼,我們需要安裝“gemtc”包,及加載此包后雷。代碼如下:
install.packages(“gemtc”)
library(gemtc)
2.2 數(shù)據(jù)處理
在本教程中季惯,我們的目的是運(yùn)用網(wǎng)狀meta分析的方法對(duì)聯(lián)用B藥物與其他西藥(包括A,C臀突,D勉抓,E,F(xiàn)惧辈,G琳状,H,L盒齿,M等藥物)的療效進(jìn)行系統(tǒng)評(píng)價(jià)念逞,以確定最優(yōu)干預(yù)措施為單用Flunarizine或是聯(lián)用其他藥物。輸入以下命令將數(shù)據(jù)錄入進(jìn)R中:
setwd(dir="C:/Users/Desktop") #可更改為自己的工作目錄
data <- read.csv("data.csv",header = T)
原數(shù)據(jù)的前20行如圖1所示:
圖 1
在本數(shù)據(jù)中边翁,每一行代表研究的一個(gè)臂(在本教程中選取的都是雙臂實(shí)驗(yàn)翎承,故一項(xiàng)研究拆分成兩行),study代表研究符匾,treatment代表干預(yù)名稱(chēng)叨咖,mean代表連續(xù)變量的均值,std.dev代表連續(xù)變量的標(biāo)準(zhǔn)差啊胶,sampleSize代表每一個(gè)研究中每一個(gè)臂的樣本量甸各。特別需要注意的是,由于分析軟件基于文本識(shí)別系統(tǒng)焰坪,以上英文單詞必須按以上描述所示趣倾,大小寫(xiě)都要一致,否則將出現(xiàn)運(yùn)行錯(cuò)誤某饰。
2.3 生成gemtc格式數(shù)據(jù)
R軟件還具有另一項(xiàng)功能儒恋,就是可以為那些數(shù)據(jù)錄入繁瑣的軟件生成相關(guān)格式數(shù)據(jù)存儲(chǔ)文件宏悦,從而為這些軟件的數(shù)據(jù)錄入提供方便伐弹。輸入命令:
network <- mtc.network(data)
3. 實(shí)現(xiàn)分析
gemtc 程序包自身并沒(méi)有運(yùn)算程序功能,需要model 進(jìn)行相關(guān)設(shè)置及需要相關(guān)指令調(diào)用JAGS分析軟件來(lái)進(jìn)行相關(guān)的迭代運(yùn)算控乾。
3.1 生成網(wǎng)狀圖
鍵入命令:
plot(network,mode="circle",displaylabels=TRUE,boxed.label=FALSE)
生成的網(wǎng)狀圖如圖2所示:
圖 2
可使用如下命令查看其內(nèi)部聯(lián)系:
summary(network)
如圖3所示荣堰,從圖中可以看出洼哎,雙臂實(shí)驗(yàn)有48個(gè)边败。
圖 3
3.2設(shè)置network model
在選取具有網(wǎng)狀meta 分析功能軟件之前业扒,我們需要對(duì)model 進(jìn)行相關(guān)設(shè)置,需要“mtc.model()”命令驹止,具體命令如下:
model <- mtc.model(network,type = "consistency",n.chain = 4,likelihood=”normal”,link=”identity”,linearModel=”random”)
其中浩聋,network 為network 數(shù)據(jù)观蜗,type 為是否選取一致性模型臊恋,n.chain 為迭代運(yùn)算中鏈的條數(shù)(馬爾科夫蒙特卡洛MCMC鏈條),一般取2-4墓捻。非一致性模型(inconsistency model)可將type調(diào)整為“ume”或“use”抖仅。likelihood=”normal”,link=”identity”,定性為連續(xù)變量。linearModel=”random”指選取的模型為隨機(jī)效應(yīng)模型砖第,若填fixed則為固定效應(yīng)模型撤卢。
3.3軟件選取及迭代
gemtc 程序包提供了3 種軟件的調(diào)用方式,依次為JAGS梧兼、OpenBUGS 及WinBUGS 軟件放吩,通過(guò)“mtc.run()”命令選取并執(zhí)行。對(duì)于調(diào)用軟件的選取可通過(guò)設(shè)置參數(shù)“sampler”值來(lái)實(shí)現(xiàn)羽杰,當(dāng)取值“rjags”為調(diào)用JAGS軟件渡紫,計(jì)算機(jī)將自動(dòng)完成建模、數(shù)據(jù)加載及初始化等過(guò)程考赛。具體命令如下:
results <- mtc.run(model,sampler = "rjags",n.adapt=20000,n.iter = 5000,thin=1)
其中惕澎,model是我們上一步建立的模型名稱(chēng),n.adapt為退火次數(shù)颜骤,n.iter為迭代次數(shù)唧喉。這個(gè)時(shí)候我們耐心等待,RStudio界面如圖4所示:
圖 4
查看結(jié)果的命令為:
summary(results)
可看到圖5及圖6所示結(jié)果:
圖 5
圖 6
4.圖形繪制與結(jié)果展示
4.1 森林圖繪制
敲入命令:
forest(relative.effect(results,"Flunarizine"))
可以看到每個(gè)干預(yù)相對(duì)于B藥物的森林圖(圖7):
圖 7
4.2 收斂診斷圖
收斂診斷(convergence diagnostics)圖繪制的命令為“gelman.plot(results)”忍抽,即可繪制圖形八孝。
圖 8
此處應(yīng)該有12 個(gè)gelman plot(圖8),可以采用如下命令進(jìn)行全部顯示:
par(mfrow=c(3,4))
gelman.plot(results,auto.layout =F)
4.3軌跡和密度圖
軌跡(trace)和密度(density)圖的繪制的命令為“plot(results)”鸠项,如圖9干跛、圖10。此處需要說(shuō)明的是锈锤,若要在此窗口上顯示全部圖形驯鳖,可通過(guò)將字體調(diào)小的方式實(shí)現(xiàn)闲询。更多meta分析及數(shù)據(jù)分析知識(shí),請(qǐng)關(guān)注公浅辙,眾號(hào):全哥的學(xué)習(xí)生涯扭弧。
圖 9
圖 10
4.4 排序圖
進(jìn)行排序,如圖11:
圖 11
ranks <- rank.probability(results)
sucra(ranks)
堆積排序圖记舆,如圖12:
plot(ranks)
圖 12
單個(gè)排序等級(jí)圖鸽捻,如圖13:
plot(ranks,beside=TRUE)
圖 13
4.5制作聯(lián)賽表
輸入命令:
a <- relative.effect.table(results)
write.csv(a,"1111111.csv")
可在工作路徑下生成1111111的聯(lián)賽表,如圖14:
圖 14
4.6 異質(zhì)性檢驗(yàn)
鍵入命令:
resultanohe <- mtc.anohe(network,n.adapt=20000,n.iter=50000,thin=1,n.chain=4,likelihood="normal",link="identity",linearModel="random")
c <- summary(resultanohe)
plot(c)
生成的敏感性分析森林圖如圖15泽腮、16所示(僅展示部分圖片)
圖 15
圖 16