在一个函数中有多个 pander()
Having multiple pander()s in a function
如何通过 pander()
在编织文档 "asis" 中创建多个输出?
当我在一个函数中多次调用 pander
时,HTML 输出中只显示最近的一次。这是一个例子:
tmp = function() {
pander('A')
pander('B')
pander('C')
}
tmp()
在 knitted 文档中给出:C
我可以设置 panderOptions('knitr.auto.asis', FALSE)
或者我可以使用 cat()
以便将 pander()
输出写入标准输出。但随后它被格式化为代码,而不是文档的一部分。因为我需要 pander()
为我格式化一些表格,所以这没有帮助。
tmp
函数将只 return 最后一个对象——这就是为什么只打印 C
的原因。如果您想立即将每个对象写入 stdout
而不使用 auto-asis 便利选项,那么您必须像 和 一样禁用该选项使用 relate 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 中查看更多示例。
如何通过 pander()
在编织文档 "asis" 中创建多个输出?
当我在一个函数中多次调用 pander
时,HTML 输出中只显示最近的一次。这是一个例子:
tmp = function() {
pander('A')
pander('B')
pander('C')
}
tmp()
在 knitted 文档中给出:C
我可以设置 panderOptions('knitr.auto.asis', FALSE)
或者我可以使用 cat()
以便将 pander()
输出写入标准输出。但随后它被格式化为代码,而不是文档的一部分。因为我需要 pander()
为我格式化一些表格,所以这没有帮助。
tmp
函数将只 return 最后一个对象——这就是为什么只打印 C
的原因。如果您想立即将每个对象写入 stdout
而不使用 auto-asis 便利选项,那么您必须像 和 一样禁用该选项使用 relate 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 中查看更多示例。