求助:metafor森林图如何将研究标题替换为作者名
解决metafor森林图显示作者名而非默认Study标签的问题
核心问题在于你在聚合数据后拟合rma()时,没有将作者名指定为研究标签(slab),导致森林图自动生成了默认的"Study 1"这类标签。以下是具体修改步骤:
1. 在聚合后的rma()调用中指定作者名为slab
你的agg数据框已经包含First_Author列,只需在拟合模型时将该列传递给slab参数,让模型记住每个研究的作者名:
# 修改后的meta分析 pooled estimates 代码 res <- rma(yi, vi, method="EE", data=agg, digits=3, slab=First_Author)
2. 直接绘制森林图(无需额外修改)
此时调用forest()函数时,会自动使用你指定的作者名作为研究标题,替代默认的"Study 1"系列标签:
# 绘制森林图(原代码无需改动,已自动读取slab信息) forest(res, xlim=c(-4,5), mlab="Pooled Estimate", header=TRUE, ilab=ki, ilab.xpos=-2)
额外定制说明
如果你需要更个性化的研究标签(比如加上发表年份),可以先在agg数据框中生成组合列,再传递给slab:
# 示例:生成"作者名+年份"的标签 agg$study_label <- paste(agg$First_Author, agg$Year, sep=", ") # 拟合模型时指定新标签 res <- rma(yi, vi, method="EE", data=agg, digits=3, slab=study_label)
内容的提问来源于stack exchange,提问作者Pete
相关产品推荐
相关产品推荐

