在R trimfill中的rma metafor v metagen meta

时间:2016-03-02 14:28:15

标签: r

提前感谢您考虑这个问题。

是否有人能够建议为什么使用“metafor”包进行的trimfill分析给“meta”包提供了非常不同的结果(0.6803 [95%0.3456 1.0151]与metafor相比,0.3657 [95%-0.0213; 0.7526]元)。难道我做错了什么?哪个更准确还是都很好?我在下面提供了一些可简化的代码。

install.packages("metafor")
install.packages("meta")
library("metafor")
library("meta")

es<-c(.5,.6,.3,.1,.4,.7,1.1,.2,.2,1,2,1.1)
se<-c(.1,.1,.2,.3,.1,.1,.2,.1,.05,0.5,.1,.1)
df<-data.frame(es,se)

trimfill(rma(yi=es,sei=se,data=df,method="DL"))
trimfill(metagen(TE=es,seTE=se,data=df))

谢谢,

P

1 个答案:

答案 0 :(得分:0)

meta包中,修剪和填充方法使用固定效果模型完成,但最终分析使用随机效应模型完成。在metafor中,trim和fill方法是在传递给它的相同类型的模型下完成的。由于您将随机效应模型传递给它,随机效应模型也用于修剪和填充方法(最后的分析也使用随机效应模型完成)。

如果要复制meta的内容,则必须首先将固定效果模型传递给函数,然后手动拟合随机效果模型。修剪和填充对象中的向量yivi包含原始加号(如果有的话)插补数据。所以,你可以这样做:

res <- rma(yi=es,sei=se,data=df,method="FE")
res <- trimfill(res)
rma(res$yi, res$vi, method="DL")

您会发现这会产生与使用meta包获得的结果相同的结果。