在RStudio中使用rmarkdown
编织文档时,我想使用特定的函数来打印data.frame
(在我的情况下,使用pander
获得多行表)。 rmarkdown
软件包文档说,除了可以传递给df_print
的四个有效方法外,我还可以向其传递任意函数:
我想在YAML header 中设置df_print
选项:
output:
pdf_document:
df_print: pander
但是,在RStudio中使用“编织”按钮时,它会出错,并显示:
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文件。当我使用“编织”按钮时,RStudio是否以直接调用
render
时没有的方式将自身插入到编织过程中?为什么也不能在YAML header 中传递任意函数?我也尝试传递
pander::pander
,但这没有帮助。 最佳答案
您可以使用!expr
在YAML header 中强制对表达式求值:
output:
pdf_document:
df_print: !expr pander::pander