在RStudio中编织时,传递df_print任意函数

时间:2017-06-08 19:09:03

标签: r rstudio r-markdown

使用rmarkdown在RStudio中编织文档时,我想使用特定函数打印data.frame(在我的情况下,pander以获取多行表)。 rmarkdown包文档说,除了可以传递给df_print的四种有效方法之外,我还可以传递一个任意函数:

  

除了命名方法,您还可以传递用于打印数据帧的任意函数。

我想在YAML标题中设置df_print选项:

output:
  pdf_document:
    df_print: pander

然而,当在RStudio中使用Knit按钮时,它出错了,说:

Error: Invalid value for df_print (valid values are default, kable, tibble, paged
Execution halted

但是,当我直接调用render函数时:

render("example.Rmd", pdf_document(df_print = pander))

文档渲染得很好,我得到了我想要的PDF文件。当我使用Knit按钮时,当我直接调用render时,RStudio是否会插入到编织过程中?为什么我也不能在YAML头中传递任意函数?

我也试过传递pander::pander,但这没有帮助。

1 个答案:

答案 0 :(得分:3)

您可以使用!expr强制在YAML标头中对表达式求值:

output: 
  pdf_document:
    df_print: !expr pander::pander