[英]Printing gt table inside a loop with rmarkdown::render not working
我正在編寫一個導出 html 的報告生成器。我使用兩個文件,第一個是確定報告數量的循環,在 my.Rmd 模板中我有另一個循環來打印多個表格。
下面的.Rmd,工作正常
---
title: "Report"
author: "Me"
date: "`r format(Sys.time(), '%d de %B de %Y')`"
output:
html_document
---
# First Section
```{r , results='asis', echo=FALSE, message=FALSE}
library(tidyverse)
library(gt)
i=1
df <- cbind(m=c(rep(1,16),rep(2,16)),mtcars)
gears <- unique(df$gear)
for(g in gears)
{
cat("## gear", g, "\n")
print(
df %>% filter(gear==g & m==i) %>%
gt()
)
}
但是如果從外部文件調用它並渲染表不顯示
library(tidyverse)
library(gt)
df <- cbind(m=c(rep(1,16),rep(2,16)),mtcars)
for (i in 1:2)
{
rmarkdown::render(
'report_template_2.Rmd', output_file = paste0("report",
"_",i,
'.html'), encoding="UTF-8")
}
通常的htmltools::tagList
技巧似乎有效。
沒有深入研究render
內部以試圖理解為什么它的行為與手動編織不同。
---
title: "Report"
author: "Me"
date: "`r format(Sys.time(), '%d de %B de %Y')`"
output:
html_document
---
# First Section
```{r,eval=F,echo=F}
gt(mtcars)
```
```{r , results='asis', echo=FALSE, message=FALSE}
library(tidyverse)
library(gt)
i=1
df <- cbind(m=c(rep(1,16),rep(2,16)),mtcars)
gears <- unique(df$gear)
l <- list()
i<-1
for(g in gears)
{
cat("## gear", g, "\n")
print(htmltools::tagList(df %>% filter(gear==g & m==i) %>% gt()))
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.