如何将森林图存储在要在 R 中调用的对象中?

How to store forest plot in an object to be recalled in R?

关于如何在 R 中存储和调用森林图的一个小问题。我正在使用 R 中的元函数创建森林图。我可能需要存储图形并在以后在查看器中调用.我试过这个表达式:

forest.meta <- forest(meta,  [...])

其中 [...] 是选项,但是当我键入“forest.meta”时,我在查看器中得到了一个“空”错误,而不是图表。

我哪里错了?

提前感谢您的帮助。

你得到 NULL 因为这就是函数 returns 的作用,就像基数 R 的 plot 所做的一样。它不像 ggplot 返回实际的绘图对象供您操作。

然而,并非一无所有。由于 forest 绘图使用网格图形,我们可以获取绘图的内容 window,将它们存储为图形对象的集合,稍后再次绘制它们:

library(meta)

data(Olkin1995)

m1 <- metabin(ev.exp, n.exp, ev.cont, n.cont,
              data = Olkin1995, subset = c(41, 47, 51, 59),
              sm = "RR", method = "I",
              studlab = paste(author, year))

forest(m1)

# Now grab the plot
my_plot <- grid::grid.grab()

绘图现在存储为 my_plot,所以假设我们想同时将绘图 window 用于其他用途

plot(1:10)

完成后,我们可以通过以下方式回忆起完全相同的情节:

grid::grid.newpage()
grid::grid.draw(my_plot)