使用R语言metafor包时,anova()输出的R²是调整R²还是普通R²?
嘿,刚好对metafor包的R²这块比较熟悉,给你理清楚两个场景的区别:
关于metafor包中R²类型的说明
1. anova()函数比较模型时的R²
当你用anova()比较两个嵌套的metafor模型(比如一个只有随机效应的基础模型,和一个加入了固定效应的扩展模型),输出里的R²是普通的增量R²——它衡量的是新增的固定效应能解释的额外异质性比例,这个值没有经过自由度调整,属于未调整的R²。
2. metafor包本身报告的R²
当你用rma()拟合完模型后,模型输出里直接显示的R²是调整后的R²(Adjusted R²)。这个值经过了自由度调整,能修正因为纳入更多预测变量而导致的R²被高估的问题,更精准地反映模型对异质性的实际解释能力。
给你贴段简单的代码示例方便验证:
# 拟合仅含随机效应的基础模型 res_base <- rma(yi, vi, data = your_data) # 拟合加入固定效应的扩展模型 res_extend <- rma(yi, vi, mods = ~ your_predictor, data = your_data) # 比较两个模型,查看增量R² anova(res_base, res_extend) # 查看扩展模型的调整后R² res_extend
运行后你会发现,anova()输出的是未调整的增量R²,而res_extend的输出里是调整后的R²。
内容的提问来源于stack exchange,提问作者user8460166
相关产品推荐
相关产品推荐

