首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >`knitr_out、`file_out`和`vis_drake_graph`在R:drake中的用法

`knitr_out、`file_out`和`vis_drake_graph`在R:drake中的用法
EN

Stack Overflow用户
提问于 2019-09-27 20:22:04
回答 1查看 69关注 0票数 0

我正在努力理解如何在knitr_outfile_outvis_drake_graph中正确地使用drake

我有两个问题。

Q1:使用knitr_outfile_out创建markdown报表

虽然这样的代码对我的一个较小的项目是正确的:

代码语言:javascript
复制
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(....)从缓存中获取对象。

vis_drake_graph中有一些代码可以在图形繁忙时删除这些方块吗?

Q2:vis_drake_graph中的file_out对象

是否有一种方法可以将file_out对象本身显示为vis_drake_graph中的圆圈/方块

Q3:显示在vis_drake_graph中的包

是否有办法避免vis_drake_graph显式打印包?(基本上所有与::有关的内容)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-28 01:48:02

Q1

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

代码语言:javascript
复制
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"))
)

Q2

除非在show_output_files = FALSE中设置vis_drake_graph(),否则它们应该出现。

Q3

没有,但如果这是安慰的话,我很遗憾决定在drake中跟踪命名空间函数和对象。drake的方法从根本上说是跟踪包的次优方法,而I 如果有机会进行一轮彻底的改变,计划把它处理掉。,否则,除了vis_drake_graph(targets_only = TRUE)之外,就没有办法摆脱它,因为vis_drake_graph(targets_only = TRUE)也处理掉了图中的所有导入。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58140942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档