gpt4 book ai didi

删除由 R 中的 grid.arrange 函数产生的两个图之间的空白

转载 作者:行者123 更新时间:2023-12-04 09:45:55 25 4
gpt4 key购买 nike

我想消除我使用 grid.arrange() 并排绘制的两个森林地 block 之间的空白区域。

在您投反对票或重定向之前 - 在问这个问题之前,我已经花了几个小时尝试我在此处看到的针对类似问题的每个回复中提出的每个解决方案,但没有达到我想要的结果。

首先,这是我的数据集和代码:

library(meta)
library(grid)
library(gridExtra)

df <- structure(list(study = 1:7,
sens = c(0.88, 0.86, 0.75, 0.9, 0.91, 0.93, 0.98),
sens.se = c(0.13, 0.08, 0.2, 0.06, 0.13, 0.15, 0.66),
sens2 = c(0.76, 0.68, 0.9, 0.82, 0.76, 0.85, 0.76),
sens.se2 = c(0.14, 0.08, 0.2, 0.06, 0.14, 0.15, 0.66)),
class = "data.frame",
row.names = c(NA, -7L))

## setting up meta-analysis model using library(meta)
res1 <- metagen(TE=sens, seTE=sens.se, data=df, studlab=study)
res2 <- metagen(TE=sens2, seTE=sens.se2, data=df, studlab=study)

## changing plots to grid graphical objects to use grid.arrange
fp1 <- grid.grabExpr(forest(res1, data=df, method.tau="REML",
comb.random=TRUE, leftcols="studlab",
rightcols=c("effect", "ci")))
fp2 <- grid.grabExpr(forest(res2, data=df, method.tau="REML",
comb.random=TRUE, leftcols="studlab",
rightcols=c("effect", "ci")))

## arranging plots side by side:
grid.arrange(fp1, fp2, ncol = 2)

当我尝试使用在回答类似问题时建议的代码时,我得到了“gList 中只允许使用 grobs”错误代码,尽管 R 将这些图识别为“gTrees”,因为我使用了 grid.grabExpr 函数。我试过通过以下方式将 gTrees 强制为 grobs:

p1 <- as.grob(fp1)
p2 <- as.grob(fp2)

,它只在全局环境中创建空值。

我将不胜感激对此的一些帮助!

最佳答案

也许这就是您要找的东西:

grid.grabExpr(
forest(
res1, data=df, method.tau="REML",
comb.random=TRUE, leftcols="studlab",
rightcols=c("effect", "ci")
),
height = 1, width = 2
) -> fp1

grid.grabExpr(
forest(
res2, data=df, method.tau="REML",
comb.random=TRUE, leftcols="studlab",
rightcols=c("effect", "ci")
),
height = 1, width = 2
) -> fp2

grid.arrange(fp1, fp2, ncol = 2, vp=viewport(width=1, height=1, clip = TRUE))

enter image description here

关于删除由 R 中的 grid.arrange 函数产生的两个图之间的空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52730648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com