Rmarkdown HTML 渲染问题

Rmarkdown HTML rendering issue

我正在尝试打印 HTML table 的列表,但是由于某种原因,当我编写文档时,我得到的是原始 HTML 输出代码,而不是呈现 table。示例:

---
title: "html-render-issue"
output: html_document
---
library(tidyverse)
library(gtsummary)

# this table renders correctly:
tbl_summary(iris)

# but this table does not!!
tables <- list(tbl_summary(iris), tbl_summary(cars))
print(tables)

我不明白为什么会这样,我尝试使用 for 循环索引到列表中

for (i in 1:2) {
  print(tables[[i]])
}

但这似乎也行不通!没有做 tables[[1]]; tables[[2]] 等(确实有效),有没有办法遍历列表并获得我想要的输出?

考虑在 r 块中使用 results = "asis",然后使用 knitr::knit_print

代替 print
```{r, results = "asis", echo = FALSE}
 library(gtsummary)

 # this table renders correctly:
 tbl_summary(iris)

 # but this table does not!!
 tables <- list(tbl_summary(iris), tbl_summary(cars))
 for (i in 1:2) {
   cat(knitr::knit_print(tables[[i]]))
 }
```

-输出

尝试在列表中添加 %>% as_gt()

---
title: "html-render-issue"
output: html_document
---
```{r loop_print, results = 'asis'}
library(tidyverse)
library(gtsummary)

tables <- list(tbl_summary(iris), tbl_summary(cars) %>%  as_gt())
walk(tables, print)               # walk from purrr package to avoid [[1]] [[2]]
```