是否有一种方法可以在循环中生成表并设置可以稍后交叉引用的tab.id?在循环中生成表很简单,但我不知道以后如何设置ids和标题。请看下面的代码。这里我迭代一个R data.frames的列表。在最后一个块中,我将In向量(长度为2)放入块选项-- tab.id和tab.cap。这将生成两个表(很好),但是如何在块中获取当前处理的data.frame的id?
---
output: officedown::rdocx_document
---
```{r setup, include=FALSE}Knitr::opts_chunk$set(回声=假)
```{r}图书馆(可弯曲)
外勤部<-名单(
df1 =头(虹膜),
df2 =头部(Mtcar)
)
df_ids <- name(Dfs)
```{r results='asis', tab.cap=paste("Result for item", df_ids), tab.id=paste0("tab_", df_ids), tab.cap.style =“表标题”}
可弯曲的(dfs[??])#能以某种方式访问当前的id吗?
另一种选择是使用for循环生成表。但是之后如何设置tab.id和tab.cap呢?即使是一个变通的解决方案对我来说也可以。
发布于 2022-04-19 19:23:30
您可能可以使用knitr::opts_chunk$set()在循环中设置这些值。在您的情况下,我可能更喜欢set_caption。
若要在R Markdown文档内的循环中打印flextables,请使用flextable_to_rmd()。见在R Mardown文档中循环。
---
output: officedown::rdocx_document
---
```{r setup, include=FALSE}Knitr::opts_chunk$set(回声=假)
```{r}图书馆(可弯曲)
图书馆(主任)
图书馆(办公大楼)
图书馆(Magrittr)
外勤部<-名单(
df1 =头(虹膜),
df2 =头部(Mtcar)
)
df_ids <- name(Dfs)
```{r results='asis'}(I in df_ids){
Z <-挠性(dfs[i]) %>%
set_caption(caption = paste("Result for item", i), style = "Table Caption", autonum = run_autonum(seq_id = "tab", bkm = i))flextable_to_rmd(z)
crossref_id <- sprintf(“\@ref(选项卡:%s)”,i)
cat("\n\n\nA to table ",crossref_id,“\n\n”)
}

https://stackoverflow.com/questions/71928928
复制相似问题