可在 R markdown `asis` 块中进行反应,但不显示循环

AEF*_*AEF 5 r r-markdown reactable

我想在 R markdown 文档中创建动态部分。为此,我使用带有asis输出类型的 R 块。这些块包含由reactable包创建的表。

当我在 for 循环中创建表格时,我无法打印表格。我知道通常必须将绘图或类似内容包装print()在循环中,但这对我的情况没有影响。

我怎样才能打印表格?

---
title: "Test"
author: "Test"
date: "29 11 2021"
output: html_document
---

```{r include=FALSE}
library(reactable)

```

```{r results='asis', echo=FALSE}

cat("\n\n## My header 1 \n\n")

reactable(data.frame(test = rnorm(3)))  ## This works

```



```{r results='asis', echo=FALSE}



for (i in 1:3) {
  
  cat("\n\n## My header ", i+1, "\n\n")
  
  print(reactable(data.frame(test = rnorm(3))))  ## shows nothing
  
}

```
Run Code Online (Sandbox Code Playgroud)

AEF*_*AEF 5

我刚刚发现,它在幕后reactable使用。htmlwidgets因此,可以将结果包装起来shiny::tagList()以循环显示它。

---
title: "Test"
author: "Test"
date: "29 11 2021"
output: html_document
---

```{r include=FALSE}
library(reactable)

```

```{r results='asis', echo=FALSE}

cat("\n\n## My header 1 \n\n")

reactable(data.frame(test = rnorm(3)))  ## This works

```



```{r results='asis', echo=FALSE}


for (i in 1:3) {
  
  cat("\n\n## My header ", i+1, "\n\n")
  
  print(shiny::tagList(reactable(data.frame(test = rnorm(3)))))  ## now it works
  
}

```
Run Code Online (Sandbox Code Playgroud)