我有很多表要创建,并且正在尝试在循环中创建它们。我在 rstudio 中使用带有 rmarkdown 的 flextable。print(theFlextable)在循环中使用命令会生成文本列表而不是表格。这发生在 docx 和 html 输出类型上。如果我不使用循环 flextable 会正确呈现。这是一个演示:
---
title: "Demo"
output: word_document
---
```{r setup, include=FALSE}
library(flextable)
```
## This Works
```{r iris, echo=F, message=F, error=F, results='asis'}
ft<-flextable(iris[1:10,])
ft
```
## This produces no output
```{r echo=F, message=F, error=F, results='asis'}
doThese<-c("setosa","virginica")
for (i in doThese){
tbl<-subset(iris, Species==i)
ft<-flextable(tbl[1:10,])
ft
}
```
## This produces incorrect output
```{r echo=F, message=F, error=F, results='asis'}
doThese<-c("setosa","virginica")
for (i in doThese){
tbl<-subset(iris, Species==i)
ft<-flextable(tbl[1:10,])
print(ft)
cat("\n\n")
}
``` …Run Code Online (Sandbox Code Playgroud)