有没有什么方法可以使用带扫帚包的rma()输出?

时间:2016-05-25 14:18:31

标签: r tidyr broom

我正在进行荟萃分析研究,并且非常喜欢R中的metafor包。 但是,为了能够利用你可以用R做的所有伟大的事情,例如在嵌套的data.frame中管理许多不同的模型(感谢Hadley Wickham和David Robinson)我需要能够使用metafor包中的输出rma() - 带扫帚的模型。

现在有人如何做到这一点。我知道它在扫帚中尚未开箱即用,但非常感谢到目前为止的解决方法。

非常感谢!

1 个答案:

答案 0 :(得分:2)

这是为tidy创建可以处理rma类对象的新方法的一个非常基本的示例:

tidy.rma <- function(x) {
  return(data.frame(summary(x)$fit.stats))
}

这会为函数rma创建方法tidy,我们会定义它以返回包含data.frame对象的拟合统计信息的rma

您可以使tidy.rma函数返回一个data.frame类型对象,其中包含您认为合适的任何数据。请注意,你可以让它回归你最喜欢的哟&#39;妈妈开玩笑并且它与输入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)

提供适合统计数据的漂亮data.frame:

             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