2

使用 R 在一张图像中将表格与绘图结合起来的首选技术是什么?我记得几个月前使用 tableGrob() 和拼凑或cowplot,但不记得细节。

此示例使用 ggstatsplot 包。我想将相关系数添加到相关图(相关图)中。

if (!('ggstatsplot' %in% installed_packages)) {
    devtools::install_github('https://github.com/IndrajeetPatil/ggstatsplot')
}
needed_pkgs <- setdiff(c('ggstatsplot', 'statsExpressions',
                       'dplyr', 'nnet', 'MASS'),
                       installed_packages)
if (length(needed_pkgs) > 0) {
    install.packages(needed_pkgs)
}

library(ggstatsplot)
library(statsExpressions)
library(dplyr)
library(nnet)
library(MASS)
utils::example(topic = birthwt, echo = FALSE)

# model
bwt.mu <-
    nnet::multinom(
        formula = low ~ .,
        data = bwt,
        trace = FALSE
    )

original_cols <- colnames(bwt)

bwt.mu_coefstats <- ggcoefstats(x = bwt.mu, output = "tidy") %>% 
    # skipping first row = intercept
    slice(2:n()) %>% 
    dplyr::filter(term %in% original_cols) %>% 
    arrange(desc(p.value)) %>% 
    dplyr::select(term, estimate, p.value)

# Correlogram
cor_plot_out <- 
    ggstatsplot::ggcorrmat(bwt %>% dplyr::select(low, lwt, age))

想结合

bwt.mu_coefstats

统计模型的系数

cor_plot_out

相关图

4

1 回答 1

2

关键元素tableGrob()来自gridExtra包装!

我们可以使用grid.arrange().

对于表格tableGrob(),用于创建类似于数据框图的表格。然后你可以将它与grid.arrange()函数一起使用。

library(gridExtra)

bwt.mu_coefstats <- tableGrob(
    bwt.mu_coefstats,
    theme = ttheme_default(
      base_size = 10,
      base_colour = "grey25",
      parse = T
    ),
    rows = NULL
  )

grid.arrange(cor_plot_out, bwt.mu_coefstats,
             heights = c(10, 4))

在此处输入图像描述

或拼凑而成:

library(patchwork)
cor_plot_out + bwt.mu_coefstats

在此处输入图像描述

于 2021-06-07T18:40:21.060 回答