使用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
,但这没有帮助。
答案 0 :(得分:3)
您可以使用!expr
强制在YAML标头中对表达式求值:
output:
pdf_document:
df_print: !expr pander::pander