有什么方法可以将 rma() 输出与 broom 包一起使用?
Any way to use rma() outputs with broom package?
我正在做元分析研究,非常喜欢 R 中的 metafor 包。
但是,为了能够利用 R 的所有优点,例如在嵌套 data.frame 中管理许多不同的模型(感谢 Hadley Wickham 和 David Robinson),我需要能够使用metafor 包 rma()-带扫帚的模型。
现在有人知道怎么做吗?我知道扫帚中不支持开箱即用的事实(目前),但非常感谢到目前为止的解决方法。
非常感谢!
这是为 tidy
创建可以处理 rma
class 对象的新方法的一个非常基本的示例:
tidy.rma <- function(x) {
return(data.frame(summary(x)$fit.stats))
}
这为函数 tidy
创建了方法 rma
,我们将其定义为 return 包含 rma
对象的拟合统计信息的 data.frame
。
您可以改为使用您认为合适的任何数据使 tidy.rma
函数 return 成为 data.frame
类型的对象。请注意,您可以把它 return 当作您最喜欢的老妈笑话,让它与输入的 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
我正在做元分析研究,非常喜欢 R 中的 metafor 包。 但是,为了能够利用 R 的所有优点,例如在嵌套 data.frame 中管理许多不同的模型(感谢 Hadley Wickham 和 David Robinson),我需要能够使用metafor 包 rma()-带扫帚的模型。
现在有人知道怎么做吗?我知道扫帚中不支持开箱即用的事实(目前),但非常感谢到目前为止的解决方法。
非常感谢!
这是为 tidy
创建可以处理 rma
class 对象的新方法的一个非常基本的示例:
tidy.rma <- function(x) {
return(data.frame(summary(x)$fit.stats))
}
这为函数 tidy
创建了方法 rma
,我们将其定义为 return 包含 rma
对象的拟合统计信息的 data.frame
。
您可以改为使用您认为合适的任何数据使 tidy.rma
函数 return 成为 data.frame
类型的对象。请注意,您可以把它 return 当作您最喜欢的老妈笑话,让它与输入的 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