在带有 Word 输出的 R Markdown 文档中循环 Flextables
Looping Flextables in R Markdown documents with Word output
我希望在单个 R Markdown 文档中打印多个 flextables。这在使用 html 输出时并不具有挑战性,但我需要 Word 输出。
使用 html 输出,以下 R Markdown 代码(取自 https://davidgohel.github.io/flextable/articles/offcran/examples.html#looping-in-r-mardown-documents 的示例)生成包含多个 Flextables 的文档:
---
output:
html_document: default
---
```{r}
library(htmltools)
library(flextable)
ft <- flextable(head(iris))
tab_list <- list()
for(i in 1:3){
tab_list[[i]] <- tagList(
tags$h6(paste0("iteration ", i)),
htmltools_value(ft)
)
}
tagList(tab_list)
```
我一直无法使用 Word 文档输出获得等效的输出。
中提出的解决方案
同样适用于 html 输出,但我无法使用 Word 输出正确呈现它。
任何关于与上述示例等效的 R Markdown Word 文档输出的建议都将非常有帮助!
您需要使用 flextable::docx_value
和块选项 results='asis'
---
title: "Untitled"
output: word_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(flextable)
```
```{r results='asis'}
ft <- flextable(head(iris))
for(i in 1:3){
cat("<w:p/>")## add this to add an empty new paragraph between tables
flextable::docx_value(ft)
}
```
我希望在单个 R Markdown 文档中打印多个 flextables。这在使用 html 输出时并不具有挑战性,但我需要 Word 输出。
使用 html 输出,以下 R Markdown 代码(取自 https://davidgohel.github.io/flextable/articles/offcran/examples.html#looping-in-r-mardown-documents 的示例)生成包含多个 Flextables 的文档:
---
output:
html_document: default
---
```{r}
library(htmltools)
library(flextable)
ft <- flextable(head(iris))
tab_list <- list()
for(i in 1:3){
tab_list[[i]] <- tagList(
tags$h6(paste0("iteration ", i)),
htmltools_value(ft)
)
}
tagList(tab_list)
```
我一直无法使用 Word 文档输出获得等效的输出。
中提出的解决方案
任何关于与上述示例等效的 R Markdown Word 文档输出的建议都将非常有帮助!
您需要使用 flextable::docx_value
和块选项 results='asis'
---
title: "Untitled"
output: word_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(flextable)
```
```{r results='asis'}
ft <- flextable(head(iris))
for(i in 1:3){
cat("<w:p/>")## add this to add an empty new paragraph between tables
flextable::docx_value(ft)
}
```