【发布时间】:2025-12-12 19:00:01
【问题描述】:
我正在使用 metafor 包进行元分析。我想计算使用包的效果大小,但遇到了一些麻烦。我正在尝试使用 escalc 函数计算效果大小。我有一个文件,其中包含约 200 行的值,其中包含控制/测试均值方差和样本数的数据。对于每一行,我想计算效果大小。我现在想使用 escalc 函数来确定使用 SMD 的效果大小。
我目前的代码如下:
# escalc function
escalc <- function(measure, ai, bi, ci, di, n1i, n2i, x1i, x2i, t1i, t2i, m1i, m2i, sd1i, sd2i, xi, mi, ri, ti, sdi, r2i, ni, yi, vi, sei,
data, slab, subset, include, add=1/2, to="only0", drop00=FALSE, vtype="LS", var.names=c("yi","vi"), add.measure=FALSE, append=TRUE, replace=TRUE, digits, ...)
# apply data and add effect size col to data frame
data$ES <- escalc(measure = SMD, dat$MRE1, dat$MTE2, dat$VRE1, dat$VTE2, dat$NR1, dat$NR2, data = dat)
当我运行此代码时,似乎没有问题/错误(如果我多次运行代码,它会显示“错误:C 堆栈使用 15925888 太接近限制” - 不确定这意味着什么)但我的数据框没有每个研究的 ES 新列。当我突出显示新变量并单击 Enter(查看数据的样子)时,它显示为 NULL,所以我认为它实际上并没有运行。如何获得效果大小的摘要?
我不确定我做错了什么或如何查看我计算的效果大小。我一直在阅读 metafor 文档,但不确定我做错了什么(https://cran.r-project.org/web/packages/metafor/metafor.pdf)。我需要为每篇论文计算 escalc 吗?非常感谢任何帮助。
谢谢!
【问题讨论】: