首页 > 解决方案 > 为什么使用矢量从函数内渲染 Rmarkdown 文件时 df 的布局会发生变化?

问题描述

因为我想使用从上游数据分析中收集的数据从函数中创建报告,所以我正在创建一个向量,其中包含应该在 Rmarkdown 文件中的所有行。在此之前,我创建了一个“普通”Rmarkdown 文件,用于选择正确的布局和文本。如果我编织这个“正常”文件,就会得到想要的结果(图 1)。如您所见,有一个水平滚动条,列并没有挤在一起。 图1

我正在使用以下代码:

---
title: "name"
output: html_document
---

### Variants maintained:

```{r setup, include = FALSE}
knitr::opts_chunk$set(fig.align = 'center', echo = TRUE)
```

```{r data, include = FALSE}
library(kableExtra)
library(ggplot2)

finalreport <- readRDS("finalreport_try_rmd.rds")
```


```{r echo=FALSE}
kable(finalreport, "html") %>% kable_material() %>% scroll_box(width = "100%", height = "400px")
```

但是,要从函数中创建它,我使用以下代码:

markobj <- c(
  '---',
  'title: "name"',
  'output: html_document',
  '---',
  '',
  '### Variants maintained:',
  '',
  '```{r setup, include = FALSE}',
  'knitr::opts_chunk$set(fig.align = "center", echo = TRUE)',
  '```',
  '',
  '```{r data, include = FALSE}',
  'library(kableExtra)',
  'library(ggplot2)',
  '',
  '```',
  '',
  '```{r echo=FALSE}',
  'kable(finalreport, "html") %>% kable_material() %>% scroll_box(width = "100%", height = "400px")',
  '```',
)
## knit lines into Rmd formatted object
txt <- knitr::knit(text = markobj)
markdown::markdownToHTML(text = txt, output = "name.html")
browseURL("name.html")

图 2

但正如您在图 2 中看到的,水平滚动条仍然存在,但由于行挤在一起,它失去了所有用途。

任何人都可以帮助我吗?

先感谢您。

标签: rr-markdownkableextra

解决方案


推荐阅读