You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用metafor包对model亚组进行mechanism调节变量分析?

在metafor中实现亚组内的调节变量分析

当然可行!完全不用折腾着拆分数据集,metafor 里有很方便的方法帮你实现这个需求,我给你一步步讲清楚:

  • 直接用subset参数+调节变量公式
    你之前写的代码已经筛选出了model == "IR"的亚组,只要在rma()的mods参数里加入mechanism作为预测变量,就能直接在这个亚组内做以mechanism为调节变量的元回归了,代码如下:

    # 在model="IR"的亚组中,分析mechanism的调节效应
    run.5 <- rma(yi = es, vi = var, mods = ~ mechanism, data = agg.es.mod, subset = model == "IR")
    # 查看详细结果
    summary(run.5)
    

    运行后,结果里mechanism的系数及其显著性,就代表在model=IR这个亚组内,不同mechanism水平对汇总效应的影响是否显著。

  • 批量处理所有model亚组(进阶技巧)
    因为你的model有3个水平,手动写三次代码有点麻烦,可以用循环批量处理所有亚组,把结果存在列表里方便查看:

    # 获取model的所有独特水平
    model_groups <- unique(agg.es.mod$model)
    # 创建空列表存储每个亚组的分析结果
    subgroup_mechanism_results <- list()
    
    # 循环遍历每个model亚组
    for (group in model_groups) {
      subgroup_mechanism_results[[group]] <- rma(yi = es, vi = var, mods = ~ mechanism, 
                                                 data = agg.es.mod, subset = model == group)
    }
    
    # 查看任意亚组的结果,比如查看"IR"组
    summary(subgroup_mechanism_results[["IR"]])
    # 查看另一个组,比如替换成你的实际水平名称
    summary(subgroup_mechanism_results[["你的model水平名称"]])
    
  • 关于是否需要拆分数据集
    完全不需要手动拆分数据集!用subset参数的方法更简洁,还能保持原始数据集的完整性,方便后续的结果对比和其他分析。当然如果你一定要拆分数据集也是可以的,但没必要,subset已经能完美解决问题。

内容的提问来源于stack exchange,提问作者D. Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:29:16