使用Metafor或Meta进行比例的元分析

时间:2016-05-01 14:38:48

标签: r statistics

是否有人使用这些包来创建比例的森林图 - 其中每个研究显示的比例和95%CI是一个简单的比例,具有精确的二项式95%CI,并且包计算一个汇总的加权比例 - - 显示在底部? 可以选择汇集方法吗?

1 个答案:

答案 0 :(得分:2)

metafor中,可以通过计算" exact"来完成。 95%CI使用binom.test()函数,然后将这些边界传递给forest()。有各种各样的模型可以用来汇总比例,所以我不确定你要找哪一个,但是"二项式 - 正常"模型(基本上是随机效应逻辑回归模型)通常是一个不错的选择。这可以使用rma.glmm()。然后可以使用addpoly()函数将结果添加到森林图中。这是一个例子:

library(metafor)

dat <- data.frame(id = 1:5, xi = c(2, 5, 3, 10, 6), ni = c(20, 25, 15, 40, 30))
dat <- escalc(measure="PR", xi=xi, ni=ni, data=dat)
tmp <- t(sapply(split(dat, dat$id), function(x) binom.test(x$xi, x$ni)$conf.int))
dat$ci.lb <- tmp[,1]
dat$ci.ub <- tmp[,2]

res <- rma.glmm(measure="PLO", xi=xi, ni=ni, data=dat)

par(mar=c(5,4,1,2))
with(dat, forest(yi, ci.lb=ci.lb, ci.ub=ci.ub, ylim=c(-1.5,8), xlim=c(-.5,1), refline=predict(res, transf=transf.ilogit)$pred))
addpoly(res, row=-1, transf=transf.ilogit)
abline(h=0)
text(-0.5, 7, "Study", pos=4)
text( 1,   7, "Proportion [95% CI]", pos=2)

模型(res)的结果是:

Random-Effects Model (k = 5; tau^2 estimator: ML)

tau^2 (estimated amount of total heterogeneity): 0
tau (square root of estimated tau^2 value):      0
I^2 (total heterogeneity / total variability):   0.00%
H^2 (total variability / sampling variability):  1.00

Tests for Heterogeneity:
Wld(df = 4) = 1.7806, p-val = 0.7760
LRT(df = 4) = 2.0582, p-val = 0.7251

Model Results:

estimate       se     zval     pval    ci.lb    ci.ub
 -1.3863   0.2193  -6.3225   <.0001  -1.8160  -0.9565      ***

---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

由此产生的森林地块:

forest plot