在RStudio中使用Metafor聚合元分析数据时遇参数缺失错误求助
问题原因与解决方法
错误根源
你调用的是base R原生的aggregate()函数,而非metafor包专为效应量聚合设计的aggregate.escalc()函数。base版aggregate()必须强制指定FUN参数(比如取均值、求和),但你需要的是metafor中基于Hedges' g(yi)和方差(vi)的元分析专属聚合逻辑,两者参数要求完全不同。
解决步骤
确保加载metafor包
先执行加载命令,让R优先识别metafor的聚合函数:library(metafor)针对escalc类数据的处理
如果你的df是通过metafor::escalc()函数计算得到的(这类数据会带有escalc类属性),直接运行你原本的代码即可,此时R会自动调用aggregate.escalc()而非base版:gg_studycluster <- aggregate(df, cluster=Study_Name, struct="ID", addk=TRUE)针对普通数据框的处理
如果你的df是普通数据框(不是用escalc()生成的),需要明确调用aggregate.escalc()并指定yi和vi列:gg_studycluster <- aggregate.escalc(yi=df$yi, vi=df$vi, cluster=df$Study_Name, struct=df$ID, addk=TRUE)或者先给数据框添加
escalc类属性,再用原代码:class(df) <- c("escalc", "data.frame") gg_studycluster <- aggregate(df, cluster=Study_Name, struct="ID", addk=TRUE)
内容的提问来源于stack exchange,提问作者Stættistiks
相关产品推荐
相关产品推荐

