在統合分析裡面, 通常會有兩個arm, 不過有的時候會需要對症狀的發生率, 疾病的發生率進行統合, 此時就需要做所謂的single arm meta-analysis, R 裡面有非常好用的套件, 以下就由我來示範!
首先假設假想例子:
library(meta) library(metafor) library("grid") studies <- c("Study 1","Study 2","Study 3","Study 4") obs <- c(5,7,9,10) denom <- c(30,40,20,70) m1 <- metaprop(obs, denom, studies, comb.fixed=T) #com.fixed 表示fixed effect model forest(m1, leftlabs=c("Study","Stroke event","Total"), ref=0.2, colgap=unit(3,"mm"), col.by="black",fontsize=10, rowgap=unit(3,"mm"))
funnel(m1)
metabias(m1) #Egger's test
如圖可以看到, 明顯兩邊不對稱, 雖然這麼少的文獻要看publication bias不太夠(依照目前cochrane handbook的建議, 至少要十篇論文來生成funnel plot會比較有意義), 不過一般來說不對稱就代表可能有publication bias!
studies2 <- c("Study 1","Study 2","Study 3","Study 4", "Study 1","Study 2","Study 3","Study 4") obs2 <- c(2,3,4,5,3,4,5,5) denom2 <- c(15,20,10,30,15,20,10,40) setting<-c("M", "M", "M","M", "F", "F", "F", "F") m2 <- metaprop(obs2, denom2, studies2, comb.fixed=F,byvar=setting, ) #com.fixed 表示fixed effect model forest(m2, leftlabs=c("Study","Stroke event","Total"), ref=0.1, colgap=unit(5,"mm"), col.by="black",fontsize=10, rowgap=unit(3,"mm"))
df1 <- structure(list(study_nr = c(1,2,3,4,1,2,3,4), group = c("A", "A", "A", "A", "B", "B", "B", "B"), n_tot = c(15,20,10,30,15,20,10,40), n_event = c(2,3,4,5,3,4,5,5)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -8L)) df1 # 計算 log(odds) 以及 corresponding sampling variances df1 <- escalc(measure="PLO", xi=n_event, ni=n_tot, data=df1) df1 # fit meta-regression model with 'group' as moderator res1 <- rma(yi, vi, mods = ~ group, data=df1, method="DL") res1 # 得到 odd ratio 和 95% CI predict(res1, newmods=1, intercept=FALSE, transf=exp, digits=2)