0

我正在尝试了解如何knitr_out在.file_outvis_drake_graphdrake

我有两个问题。

Q1:使用knitr_outfile_out创建markdown报告

虽然这样的代码适用于我的一个较小的项目:

make_hyp_data_aggregated_report <- function() {
        render(
                input = knitr_in("rmd/hyptest-is-data-being-aggregated.Rmd"),
                output_file = file_out("~/projectname/reports/01-hyp-test.html"),
                quiet = TRUE
        )
}

plan <- drake_plan(
        ...
        ...
        hyp_data_aggregated_report = make_hyp_data_aggregated_report()
        ...
        ...
) 

在此处输入图像描述

在我的大型项目(有大约 10 多个报告)中完全相同的代码不能完全正确地工作。即,在构建报告时,knitr_in对象不会drake::vis_drake_graph()在我的大型项目中使用的图表中显示为蓝色方块。

这两个项目都使用drake::loadd(....)markdown 内的来从缓存中获取对象。

一旦图表变得繁忙,是否有一些代码vis_drake_graph可以删除这些方块?

Q2:file_out对象在vis_drake_graph

有没有办法将file_out对象本身显示为圆形/正方形vis_drake_graph

Q3:包裹出现在vis_drake_graph

有没有办法避免vis_drake_graph显式打印包?(基本上任何带有::

在此处输入图像描述

4

1 回答 1

1

第一季度

每个文字文件路径都需要自己的knitr_in()file_out(). 如果你有一个函数和一个knitr_in(),即使你多次使用该函数,它仍然只能算作一个文件路径。我建议在计划级别编写这些关键字,例如

plan <- drake_plan(
  r1 = render(knitr_in("report1.Rmd"), output_file = file_out("report1.html")),
  r2 = render(knitr_in("report2.Rmd"), output_file = file_out("report2.html")),
  r3 = render(knitr_in("report3.Rmd"), output_file = file_out("report3.html"))
)

第二季度

show_output_files = FALSE除非您设置,否则它们应该会出现vis_drake_graph()

第三季度

不,但如果有什么安慰的话,我很遗憾决定在drake. drake的方法对于跟踪包裹从根本上来说是次优的,如果有时间进行一轮重大更改,我计划摆脱它。否则,除了 之外,没有办法摆脱它vis_drake_graph(targets_only = TRUE),它也摆脱了图中的所有导入。

于 2019-09-28T01:48:02.703 回答