r-在rstudio中编织时将df_print传递一个任意功能



使用 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问题的回应,该问题等于:

  1. 在.rprofile文件中设置选项rmarkdown.df_print = FALSE
    我运行了usethis::edit_r_profile("project"),并将上述语句放入options()
  2. 在您的设置(或第一个(块中致电knit_print.data.frame <- function(x, ...){ knitr::knit_print( your_func(x), ... ) }

最新更新