r - 从优势比和置信区间进行 Meta 分析,在 r 中使用 metafor 包

标签 r

我正在尝试从多个优势比及其置信区间进行荟萃分析。源文章不报告标准错误。

为了使用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)

最佳答案

由于置信区间界限(在对数刻度上)一开始不是对称的,因此您会得到这些差异。您可以使用 forest.default()函数,直接提供 CI 边界,然后添加带有 addpoly() 的汇总多边形功能。使用您的示例:

forest(dm$logor, ci.lb=log(dm$cill), ci.ub=log(dm$ciul), atransf=exp, rows=7:3, ylim=c(.5,10))
addpoly(dmres, row=1, atransf=exp)
abline(h=2)

将确保数据集中的 CI 边界与森林图中的完全相同。

关于r - 从优势比和置信区间进行 Meta 分析,在 r 中使用 metafor 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17444507/

相关文章:

r - 如何将频谱图矩阵转换为WAV文件

r - lavaan 中的多组 SEM 约束回归系数

r - 具有set元素的两个字符串列的data.table,提取唯一行,每行未排序

r - data.table:将setkey与列名变量一起使用

r - 计算由其他变量子集化的多个变量的某个值的计数和比例

r - 向量的最小和最大连续值

regex - 确定字符串是否以空格结尾,如果不是,则附加一个空格

facebook - R 抓取博客的标题、评论数和 'likes'

r - 有关情节的一般性问题

r - 如何使用 combn 的结果和一个数据框来得到一个新的矩阵?