【发布时间】:2014-10-23 07:41:15
【问题描述】:
我对使用 R 的强大功能创建图形输出非常陌生。
我使用 metafor 包中的 forest() 函数来创建我的元分析的森林图。我使用循环生成多个图,然后通过 png() 保存它们。
for (i in 1:ncol(df)-2)){
dat <- escalc(measure="COR", ri=ri, ni=ni, data=df) # Calcultes Effect Size
res_re <- rma.uni(yi, vi, data=dat, method="DL", slab=paste(author)) # Output of meta-analysis
png(filename=path, width=8.27, height=11.69, units ="in", res = 210)
forest(res_re, showweight = T, addfit= T, cex = .9)
text(-1.6, 18, "Author(s) (Year)", pos=4)
text( 1.6, 18, "Correlation [95% CI]", pos=2)
dev.off()
}
如果情节的大小相等,这将非常有用。但是,循环的每次迭代都会在森林图中整合不同数量的研究。因此,文本元素不在正确的位置,并且有许多研究的森林图看起来有点奇怪。我有两个问题:
- 如何将“作者(年份)”和“相关性 [95%CI]”自动与森林图的大小变化对齐,以使标题位于森林表的上线之上?
- 如何缩放森林图的大小,以使所有图的文本元素的宽度和大小都相同,并且对于每个额外的研究,只需添加一个新行(改变高度)?李>
每个森林图应如下所示:
【问题讨论】:
-
你想只在metfor包中这样做还是其他解决方案也可以接受?
-
metafor 会很好,但如果您有其他解决方案。请告诉我
-
如果你在这里发布 dput(df) 的输出,测试代码会更容易。