如何用R語(yǔ)言實(shí)現(xiàn)單個(gè)率/單臂實(shí)驗(yàn)的meta分析(包括二分類變量與連續(xù)型變量教程)

各位讀者朋友們大家好啊,最近有不少讀者私信我說(shuō)關(guān)于單臂實(shí)驗(yàn)的meta分析能不能出個(gè)教程,尤其是對(duì)于單臂連續(xù)型變量,找遍了全網(wǎng)都不知如何用R實(shí)現(xiàn),不要著急,相信看完本期教程,你會(huì)獲益匪淺的。(需要本教程的原始數(shù)據(jù)及完整程序命令的可在公,眾號(hào)(全哥的學(xué)習(xí)生涯)內(nèi)回,復(fù)“單個(gè)率meta”。)

01 單個(gè)率meta分析的理論基礎(chǔ)

單個(gè)率的Meta分析是一種只提供了一組人群的總?cè)藬?shù)和事件發(fā)生人數(shù),基于原始研究為橫斷面的研究,國(guó)內(nèi)Meta 分析的軟件主要是Review Manager,但該軟件無(wú)法實(shí)現(xiàn)單個(gè)率的Meta 分析。Stata 軟件可進(jìn)行單個(gè)率的Meta 分析,但其計(jì)算繁瑣,操作較復(fù)雜且是收費(fèi)的統(tǒng)計(jì)軟件。Meta-analysis 軟件是一款免費(fèi)的軟件且可以進(jìn)行單個(gè)率的Meta 分析,但是其為菜單操作,無(wú)法實(shí)現(xiàn)對(duì)原始率的轉(zhuǎn)換。相比之下,R 軟件是一種共享的免費(fèi)統(tǒng)計(jì)軟件,有專門的Meta 分析程序包,可以進(jìn)行單個(gè)率的Meta 分析,而且提供了五種方法估算率, 研究者可以根據(jù)原始率的分布選擇合適的方法。

02 準(zhǔn)備工作

2.1

本教程使用的R軟件版本為3.6.2,RStudio版本為1.2.1335,需要軟件的讀者可在公,眾號(hào)(全哥的學(xué)習(xí)生涯)內(nèi)回,復(fù)“R”,”RS”。同時(shí),我們需要安裝“meta”包,及加載此包。代碼如下:

install.packages(“meta”)

library(meta)

2.2

在本教程中,我們的目的是研究某病毒在某特定人群中的陽(yáng)性檢出率,輸入以下命令將數(shù)據(jù)錄入進(jìn)R中:

setwd(dir="C:/Users/Desktop") #可更改為自己的工作目錄

data <- read.csv("data.csv",header = T)

原始數(shù)據(jù)如圖1所示:


圖 1

其中,Author為研究作者,Year為發(fā)表年份,Sample.size為樣本量,Case為事件發(fā)生數(shù),

03? R語(yǔ)言中的Meta 分析函數(shù)

3.1 R語(yǔ)言樣本率的5種估計(jì)方法

可使用metaprop 函數(shù)進(jìn)行率的合并,R 語(yǔ)言中關(guān)于樣本率的估計(jì)方法有五種,根據(jù)樣本率的分布決定使用哪種合并方法,五種估計(jì)方法如下:

sm ="PRAW",untransformed proportions(沒(méi)有轉(zhuǎn)換的原始率)。

sm="PLN", Log transformation(對(duì)數(shù)轉(zhuǎn)換)。

sm="PLOGIT",Logit transformation(logit 轉(zhuǎn)換)。

sm="PAS",Arcsine transformation(反正弦轉(zhuǎn)換)。

sm=”PFT”,Freeman-Tukey Double arcsine transformation (Freeman-Tukey雙重反正弦轉(zhuǎn)換)

3.2 單個(gè)率的合并

在進(jìn)行metaprop 分析之前,對(duì)原始率及按四種估計(jì)方法進(jìn)行轉(zhuǎn)換后的率進(jìn)行正態(tài)性檢驗(yàn),根據(jù)檢驗(yàn)結(jié)果選擇接近正態(tài)分布的方法。transform 為對(duì)數(shù)據(jù)進(jìn)行計(jì)算,p、log、logit、arcsin、dsrcsin 表示分

別按上述五種方法估計(jì)率的函數(shù),shapiro.test 為正態(tài)性檢驗(yàn)。命令如下:

rate <- transform(data,p=Case/Sample.size) #沒(méi)有轉(zhuǎn)換的原始率

shapiro.test(rate$p)

rate <- transform(data,log=log(Case/Sample.size)) #對(duì)數(shù)轉(zhuǎn)換

shapiro.test(rate$log)

rate <- transform(data,logit=log((Case/Sample.size)/(1-Case/Sample.size)))? #logit轉(zhuǎn)換

shapiro.test(rate$logit)

rate <- transform(data,arcsin.size=asin(sqrt(Case/(Sample.size+1))))

shapiro.test(rate$arcsin)? #反正弦轉(zhuǎn)換

rate <- transform(data,darcsin=0.5*(asin(sqrt(Case/(Sample.size+1)))+asin((sqrt(Case+1)/(Sample.size+1)))))? # Freeman-Tukey雙重反正弦轉(zhuǎn)換

shapiro.test(rate$darcsin)

metaprop 函數(shù)用于計(jì)算各個(gè)獨(dú)立研究的率及95%可信區(qū)間,并按照率的分布選擇合適的估計(jì)方法,得到合并的率及95%可信區(qū)間。命令如下:

meta1 <- metaprop(Case,Sample.size,data=data,studlab = paste(data$Author,data$Year,sep="-"),sm="PRAW",incr=0.5,allincr=TRUE,addincr=FALSE)

meta1

sm 表示估計(jì)樣本率的方法,根據(jù)正態(tài)性檢驗(yàn)結(jié)果選擇合適的估計(jì)方法。本例原始率符合正態(tài)分布,因此直接選取是PRAW法估計(jì)原始率即可。

incr=0.5 表示當(dāng)事件發(fā)生數(shù)為0時(shí)用0.5 來(lái)替代。

allincr=TRUE 表示至少有一個(gè)研究的事件發(fā)生數(shù)為0時(shí),所有事件發(fā)生數(shù)都加上incr數(shù)值;為FALSE時(shí),只對(duì)事件發(fā)生數(shù)為0 的研究加上incr 數(shù)值。

addincr=TRUE 表示無(wú)論是否有事件發(fā)生數(shù)為0的研究,所有研究都加上incr數(shù)值。

04 圖形繪制與結(jié)果展示

4.1 森林圖繪制

敲入命令:

jpeg("Forest plot.jpeg",height = 1300,width = 800)

forest(meta1,digits=3,family="sans",fontsize=9.5,lwd=2,col.diamond.fixed="lightslategray",col.diamond.lines.fixed="lightslategray",

? ? ? col.diamond.random="maroon",col.diamond.lines.random="maroon",col.square="skyblue",col.study="lightslategray",

? ? ? lty.fixed=4,plotwidth="8cm",colgap.forest.left="1cm",colgap.forest.right="1cm",just.forest="right",colgap.left="0.5cm",

? ? ? colgap.right="0.5cm")

dev.off()

以上代碼看起來(lái)繁瑣復(fù)雜,但其目的是為了繪制一張精美漂亮的森林圖,且因?yàn)閿?shù)據(jù)較多,需要將圖片完整的顯示出來(lái),如圖2所示。對(duì)于以上代碼的解釋,可參考之前公,眾號(hào):全哥的學(xué)習(xí)生涯,的文章:如何用R畫出精美漂亮的meta分析森林圖。

需要注意的是,上述代碼中,digits 表示保留的小數(shù)位數(shù)。合并的率及95%可信區(qū)間與原文一致,結(jié)果見(jiàn)圖2。

圖 2

4.2 漏斗圖的繪制

funnel 畫漏斗圖,是用于識(shí)別發(fā)表偏倚或其他偏倚的方法,根據(jù)圖形的不對(duì)稱程度判斷Meta 分析中偏倚的有無(wú)。

命令為:

funnel(meta1)

結(jié)果見(jiàn)圖3。漏斗圖是一種用主觀定性的方法來(lái)判斷有無(wú)偏倚,因此需要對(duì)漏斗圖的不對(duì)稱程度進(jìn)行統(tǒng)計(jì)學(xué)檢驗(yàn)。另外,本公眾號(hào)還介紹了一種“超級(jí)漏斗圖”,其能在統(tǒng)計(jì)學(xué)99%、95%和90%三個(gè)水平上對(duì)發(fā)表偏倚進(jìn)行檢測(cè),詳細(xì)教程可見(jiàn)公,眾號(hào):全哥的學(xué)習(xí)生涯。

圖 3

4.3 漏斗圖的不對(duì)稱性檢驗(yàn)

?metabias是對(duì)漏斗圖的不對(duì)稱性進(jìn)行統(tǒng)計(jì)學(xué)檢驗(yàn)。

Egger 檢驗(yàn)的命令為:

metabias(meta1,method=”linreg”)

根據(jù)結(jié)果輸出窗口P 值大小,判斷發(fā)表偏倚或其他偏倚是否具有統(tǒng)計(jì)學(xué)意義。

輸出Egger 漏斗圖的命令為

metabias (meta1,method ="linreg", plotit=TRUE,k.min=10)

結(jié)果見(jiàn)圖4。

圖 4

Method 為Egger 檢驗(yàn)的方法;plotit 為畫圖函數(shù);k.min 為進(jìn)行檢驗(yàn)時(shí)所需最小的單個(gè)研究的數(shù)量,默認(rèn)10,如果研究在3~10 個(gè)之間可通過(guò)此函數(shù)進(jìn)行調(diào)整。

4.4 敏感性分析

metainf 可以進(jìn)行敏感性分析,計(jì)算分別剔除每個(gè)入選研究后合并的OR 值及95%可信區(qū)間。命令為:

jpeg("Sensitivity analysis results.jpeg",height = 1300,width = 800)

forest(metainf(meta1,pooled ="random"),comb.random=TRUE,family="sans",fontsize=9.5,lwd=2,col.diamond.fixed="lightslategray",col.diamond.lines.fixed="lightslategray",? ? col.diamond.random="maroon",col.diamond.lines.random="maroon",col.square="skyblue",col.study="lightslategray",? lty.fixed=4,plotwidth="8cm",colgap.forest.left="1cm",colgap.forest.right="1cm",just.forest="right",colgap.left="0.5cm",colgap.right="0.5cm")

dev.off()

結(jié)果見(jiàn)圖5.

圖 5

4.5 剪補(bǔ)法評(píng)價(jià)

命令如下:

tf1 <- trimfill(meta1,comb.random = TRUE)

summary(tf1)

funnel(tf1)

結(jié)果見(jiàn)圖6。

圖 6

05 單臂連續(xù)型變量的meta分析

此種類型的分析用到的函數(shù)為metamean()函數(shù),命令如下:

meta2 <- metamean(n,mean,sd,data=data,studlab = paste(data$Author,data$Year,sep="-"))

meta2

forest(meta2,digits=2,family="sans",fontsize=9.5,lwd=2,col.diamond.fixed="lightslategray",col.diamond.lines.fixed="lightslategray",

? ? ? col.diamond.random="maroon",col.diamond.lines.random="maroon",col.square="skyblue",col.study="lightslategray",

? ? ? lty.fixed=4,plotwidth="8cm",colgap.forest.left="1cm",colgap.forest.right="1cm",just.forest="right",colgap.left="0.5cm",

? ? ? colgap.right="0.5cm")

用到的數(shù)據(jù)如圖7所示,其中,n為樣本量,mean為均數(shù),sd為標(biāo)準(zhǔn)差。


圖 7

結(jié)果的森林圖如圖8所示,敏感性分析、發(fā)表偏倚分析、漏斗圖、剪補(bǔ)法等命令同上,在此不作贅述。

圖 8
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容