如何将不同功能的输出组合成一份精美的报告?

Posted

技术标签:

【中文标题】如何将不同功能的输出组合成一份精美的报告?【英文标题】:How to combine outputs of different functions into a nicely report? 【发布时间】:2021-10-22 15:58:29 【问题描述】:

我喜欢: .多个绘图,每个绘图由不同的函数创建。

#Plot 1
sis_name <- babynames %>% 
  filter(name == "Kate", sex == "F") %>% 
  select("year", "name", "prop")

plot1 <- ggplot(data = sis_name) +
             geom_line(mapping = aes(x = year, y = prop)) +
             labs(title = "The Popularity of baby girls' name Kate", x = 
             "Year", y = "Proportion")

#Plot 2
plot2 <- ggplot(data = mydata) +
            geom_point(mapping=aes(x=X, y=Y), color="blue") +
            labs(title="Y vs X")

。一些“文本”输出,由 glue::glue() 和 paste() 函数创建。

conf_interval <- function(mydata) 
  model <- lm(Y~X, data = mydata)
  B_conf <- confint(model,                       #confidence interval for B
                    model$coefficients[2], 
                    level = 0.95
    glue::glue("Confidence interval for slop is B_conf")

如果我想创建一个函数来调用所有输出(图 1、图 2 和置信区间)并将它们全部组合成一个格式良好的报告 (即来自所有按顺序调用的函数的一系列绘图和胶水()命令)? 要求是用“功能”调出报告。 关于我应该查看哪些功能的任何建议?

【问题讨论】:

你研究过 rmarkdown 和 knitr 吗? 感谢您的建议!我刚刚看了一个 Rmarkdown,它确实帮助我将所有内容合并到一个不错的报告中。但是,我的任务要求报告应该由“函数”调用。函数可以调用 Rmarkdown 吗?到目前为止,我知道使用 Rmarkdown 报告将保存为 .Rmd 文件。 【参考方案1】:

您可以将下面的示例保存为名为@9​​87654321@ 的文件:

---
title: "My Title"
author: "Me"
date: "21/08/2021"
output: html_document
---

```r setup, include=FALSE
knitr::opts_chunk$set(echo = TRUE)
suppressPackageStartupMessages(
  library(tidyverse)
)
library(glue)
```

# Title

```r
ggplot(mpg, aes(displ, hwy)) +
  geom_point()
```

Other variables include `r glue_collapse(colnames(mpg), sep = ", ", last = " and ")`.

随后,您可以运行以下命令:

library(rmarkdown)
render("report.Rmd", html_document())

生成报告。

【讨论】:

非常感谢 teurnbrand!虽然这不是我所期望的,但我学到了新东西。 Rmarkdown 很花哨,很有用,值得一试。

以上是关于如何将不同功能的输出组合成一份精美的报告?的主要内容,如果未能解决你的问题,请参考以下文章

如何将两个HTML表的输出组合成单个列和一些列

将两个选择语句组合成单个输出

如何获取多个Sample()矢量输出并将它们组合成一个数据帧

如何在python中用markdown语言写一份报告并输出成PDF格式

是否可以将Live Script输出导出到LaTeX?

如何在 PySpark 上将所有功能组合成一列?