【发布时间】:2021-05-01 09:55:21
【问题描述】:
我正在使用列表来收集一些由函数生成的 QC 图和表格,这些函数应该包含在最终的 Rmd markdown html 文档中。据我所知,该代码按预期工作。生成和收集所有绘图和表格。当整个脚本执行时,它们也会正确打印在源窗口中。
但是,当我编织文档时,只有绘图按我预期的方式包含在内,而数据表则没有。我不知道为什么以及如何解决这个问题。
下面是一个玩具示例。为这篇很长的帖子道歉,但我想展示不同的行为。
源窗口中单个图和表格的输出:
library(DT)
plot(cars)
datatable(cars)
从列表中输出图表和表格:
library(DT)
qc_tables <- list()
qc_plots <- list()
qc_plots[[length(qc_plots) + 1]] <- plot(cars)
qc_plots[[length(qc_plots) + 1]] <- plot(iris)
for (p in qc_plots) { print(p) }
qc_tables[[length(qc_tables) + 1]] <- datatable(cars)
qc_tables[[length(qc_tables) + 1]] <- datatable(iris)
for (p in qc_tables) { print(p) }
源窗口中的输出截图:
现在编织和html输出:
---
title: "R Notebook"
output:
html_document
---
# Direct output of plots and Data.Tables
```{r}
library(DT)
plot(cars)
datatable(cars)
plot(iris)
datatable(iris)
```
# Output of plots and Data.Tables from lists
```{r}
library(DT)
qc_tables <- list()
qc_plots <- list()
qc_plots[[length(qc_plots) + 1]] <- plot(cars)
qc_plots[[length(qc_plots) + 1]] <- plot(iris)
for (p in qc_plots) { print(p) }
qc_tables[[length(qc_tables) + 1]] <- datatable(cars)
qc_tables[[length(qc_tables) + 1]] <- datatable(iris)
for (p in qc_tables) { print(p) }
```
直接输出的 Markdown 文件:
通过列表生成 Markdown 输出时缺少:
由reprex package (v0.3.0) 于 2021-01-27 创建
【问题讨论】:
标签: r r-markdown dt htmlwidgets