我正在做元分析研究并且非常喜欢 R 中的 metafor 包。但是,为了能够利用 R 可以做的所有伟大的事情,例如在嵌套的 data.frame 中管理许多不同的模型(感谢 Hadley Wickham 和 David Robinson)我需要能够将 metafor 包 rma()-models 的输出与扫帚一起使用。
有人现在如何做到这一点。我知道扫帚(还)不支持开箱即用的事实,但非常感谢到目前为止的解决方法。
非常感谢!
tidy
这是一个非常基本的示例,它创建了一个可以处理rma
类对象的新方法:
tidy.rma <- function(x) {
return(data.frame(summary(x)$fit.stats))
}
这会rma
为 function创建方法tidy
,我们将其定义为返回data.frame
包含rma
对象拟合统计信息的 a。
您可以改为让tidy.rma
函数返回一个data.frame
类型对象,其中包含您认为合适的任何数据。rma
请注意,您可以让它返回您最喜欢的妈妈笑话,并让它与输入模型对象完全无关。该tidy.rma
方法完全由您决定它的作用。
像平常一样使用该tidy
功能:
### Example from metafor package:
data(dat.bcg)
dat <- escalc(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg)
mod <-rma(yi, vi, data=dat, method="REML")
### And call tidy()
tidy(mod)
提供拟合统计数据的漂亮数据框:
ML REML
ll -12.68777 -12.20237
dev 37.16141 24.40474
AIC 29.37554 28.40474
BIC 30.50544 29.37456
AICc 30.57554 29.73808