将字符参数传递给 escalc 函数,metafor R 包

Passing character arguments to escalc function, metafor R package

我必须拟合多个元回归模型,并且我试图编写一个 for 循环,其中将不同的变量名称传递给 escalc 函数。

任务看起来像这样:

library(metafor)
dat <- get(data(dat.bcg))
some_vars<-c("tpos","tneg","cpos","cneg")
dat <- escalc(measure="RR", ai=some_vars[1], bi=some_vars[2], ci=some_vars[3], di=some_vars[4], data=dat)

然而,这失败并出现错误。

如何将变量名传递给 escalc?

有点难看,但这应该可行:

dat <- escalc(measure="RR", ai=eval(parse(text=some_vars[1])), 
                            bi=eval(parse(text=some_vars[2])), 
                            ci=eval(parse(text=some_vars[3])), 
                            di=eval(parse(text=some_vars[4])), data=dat)