使用 rmarkdown
在rstudio中编织文档时,我想使用特定的功能打印 data.frame
(在我的情况下, pander
来获取多行表(。rmarkdown
软件包文档说,除了可以传递给df_print
的四个有效方法外,我还可以将其传递给一个任意功能:
除了指定的方法外,您还可以传递一个任意函数,用于打印数据帧。
我想在YAML标题中设置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文件。当我使用针织按钮以直接调用render
时,Rstudio是否将自己插入编织过程中?为什么我也不能在YAML标题中传递任意功能?
我也尝试通过pander::pander
,但这无济于事。
您可以使用!expr
强制对YAML标题中表达式的评估:
output:
pdf_document:
df_print: !expr pander::pander
要添加到rlesur的答案中,我无法在HTML文档中为reactable
工作。
为此,我遵循了对相关的GitHub问题的回应,该问题等于:
- 在.rprofile文件中设置选项
rmarkdown.df_print = FALSE
我运行了usethis::edit_r_profile("project")
,并将上述语句放入options()
- 在您的设置(或第一个(块中致电
knit_print.data.frame <- function(x, ...){ knitr::knit_print( your_func(x), ... ) }