5

使用下面的代码(根据此处的代码进行编辑),我生成了两个带有gt包的示例表:

library(tidyverse)
library(patchwork)
library(gt)

p1 <- mtcars %>% 
  head(5) %>% 
  gt()

p2 <- mtcars %>% 
  tail(5) %>% 
  gt()

# using wrap elements because this seems to be the answer to non-ggplot grobs e.g. #164 
wrap_elements(full = p1 | p2)
grid.arrange(p1, p2, ncol=2, top="Main Title")

出去:

Error in p1 | p2 : 
  operations are possible only for numeric, logical or complex types

我希望将它们组合成一个 ggplot 对象:p <- (p1 | p2)使用patchwork包,但我还没有找到有效的答案。

我还尝试使用as_ggplot()函数将其转换为 ggplot:

library(bstfun)

mtcars %>%
  head(5) %>%
  gt() %>% 
  as_ggplot()

但它引发了一个错误:

Error: '.assert_package' is not an exported object from 'namespace:broom.helpers'

有可能这样做吗?提前感谢您的帮助。

参考:

R - 在单个页面输出中组合两个 gt 对象

4

1 回答 1

4

我可以为您提供这个解决方案:

1. 我们获取您的数据:

   p1 <- mtcars %>% 
      head(5) %>% 
      gt()

   p2 <- mtcars %>% 
      tail(5) %>% 
      gt()

2. 让我们将表格保存为 .png:

    p1 %>%
       gtsave("p11.png", path = "Your_working_dir")
    p2 %>%
       gtsave("p12.png", path = "Your_working_dir")

3. 让我们组合您的表格:

    library(cowplot)
    p111 <- ggdraw() + draw_image("p11.png", scale = 0.8)
    p112 <- ggdraw() + draw_image("p12.png", scale = 0.8)
    plot_grid(p111, p112)

我们的结果:

在此处输入图像描述

于 2022-01-06T13:23:58.353 回答