我正在尝试从许多优势比及其置信区间进行荟萃分析。源文章不报告标准错误。
为了rma.uni()
从metafor
包中使用,我需要提供差异(通过vi=" "
)或标准错误(通过sei = " "
)。所以我用以下方式计算了标准误差(logor = log(odds ratio), UL= CI upper limit, LL = CI lower limit)
:
se1<-(log(UL)-logor)/1.96
se2<-(log(OR)-log(LL))/1.96
我的问题是,以这种方式得出的标准误差略有不同,尽管它们应该是相同的。我认为这是因为 CI 是由作者四舍五入的。我的解决方案是将这些平均值作为模型中的标准误差。
然而,当我拟合模型并绘制森林图时,得到的置信区间与我开始时的置信区间有很大不同。
dmres<-rma.uni(yi=logor, sei=se, data=dm2)
forest(dmres, atransf=exp, slab=paste(dm2$author))
有一个更好的方法吗?也许我可以直接放入置信区间的函数?
非常感谢您的评论。
更新
示例数据和代码:
dm<-structure(list(or = c(1.6, 4.4, 1.14, 1.3, 4.5), cill = c(1.2,
2.9, 0.45, 0.6, 3.2), ciul = c(2, 6.9, 2.86, 2.7, 6.1)), .Names = c("or",
"cill", "ciul"), class = "data.frame", row.names = c(NA, -5L))
dm$logor<-log(dm$or)
dm$se1<-(log(dm$ciul)-dm$logor)/1.96
dm$se2<-(dm$logor-log(dm$cill))/1.96
dm$se<-(dm$se1+dm$se2)/2
library(metafor)
dmres<-rma.uni(yi=logor, sei=se, data=dm)
forest(dmres, atransf=exp)