У меня много таблиц для создания, и я пытаюсь создать их в цикле.Я использую flextable с rmarkdown внутри rstudio.Использование команды 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")
}
```
Это вывод в слове последнего блока выше:
type: flextable object.col_keys: Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, заголовок вида имеет 1 ряд (ы), тело имеет 10 строк исходного набора данных: Sepal.Length Sepal.Width Petal.Length Petal.Width Species1 5,1 3,5 1,4 0,2 сетоса 2 4,9 3,0 0,2 сетоса 3 4,7 3,2 1,3 0,2 сетоса 4 4,6 3,1 1,5 0,2 сетоса 5 5,0 3,6 1,4 0,2 сетоса
тип: гибкий объект.col_keys: Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, заголовок вида имеет 1 ряд (ы), тело имеет 10 строк исходного набора данных: Sepal.Length Sepal.Width Petal.Length Petal.Width Species101 6,3 3,3 6,0 2,5 virginica 102 5,8 2,7 5,1 1,9 virginica 103 7,1 3,0 5,9 2,1 virginica 104 6,3 2,9 5,6 1,8 virginica 105 6,5 3,0 5,8 2,2 virginica