如何通过 pander() 在编织文档“asis”中创建多个输出?

当我在一个函数中多次调用 pander 时,HTML 输出中只显示最近的一次。下面是一个例子:

tmp = function() {
  pander('A')
  pander('B')
  pander('C')
}
tmp()

在针织文件中,这给出了:C

我可以设置 panderOptions('knitr.auto.asis', FALSE) 或者我可以使用 cat() 以便将 pander() 输出写入标准输出。但随后它被格式化为代码,而不是文档的一部分。由于我需要 pander() 来为我格式化几个表,这无济于事。

最佳答案

tmp 函数将只返回最后一个对象——这就是为什么只打印 C 的原因。如果您想在没有自动辅助便利选项的情况下立即将每个对象写入 stdout,那么您必须像之前一样禁用该选项并使用相关 knitr 块选项,例如:

```{r results='asis'}
library(pander)
panderOptions('knitr.auto.asis', FALSE)
tmp = function() {
  pander('A')
  pander('B')
  pander('C')
}
tmp()
```

在相关的 "Using pander with knitr" vignette 中查看更多示例。

关于r - 在一个函数中有多个 pander(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42458713/

10-12 14:01