我有一个通用形式的计划,如下所示。我的实际计划更复杂,我无法在玩具示例中重现此错误。有没有人见过这样的问题,你对可能导致它的原因有什么想法吗?该计划采用一组模型结果,生成一些图表的摘要并为每个图表生成报告。
dplan <- drake_plan(
models = target(
read_models(model),
map(model = c("a","b","c"))
),
dep1 = target(
summarise_models(models),
map(models)
),
dep2 = target(
plot_models(models),
map(models)
),
report = target(
write_report(dep1, dep2),
map(dep1, dep2)
)
)
目标 dep1_a-c 和 dep2_a-c 已生成,但 dep2 存在问题 dep2_a-c 出现在图中,但 report_a-c 未显示为取决于它们,因为它们分别位于 dep1_a-c 上。也就是说,生成了 dep1_a 并且 report_a 依赖于它,而生成了 dep2_a,尽管 dep2 在map
报告目标中的调用中,但 report_a 并不“相信”它依赖于 dep2_a。
我在运行时遇到make
的错误是以下形式的错误:
$error$message: object 'dep2' not found
$error$calls:base::eval(quote(...
并且引用显示 dep2 没有在调用中评估 dep2_a 等,它只是裸 dep2 当然作为目标存在,只有 dep2_a-c '我很困惑为什么这会发生在一个目标而不是其他目标上:(
我的真实示例有几个依赖项,并且我的示例中的 dep2 等效项在输出中几乎相同,它们返回映射到同一列表上的相同类型的对象,但由于某种原因,它们的目标在制作报告目标时未正确评估
我试过clean(destroy = TRUE)
从头开始运行和重新运行,但没有运气