我试图通过为一个对象分配一个角色来“参数化”一个drake脚本,但是我收到了这个警告:
plan <- drake_plan(commencement = "dec2017")
make(plan)
Warning messages:
1:缺少输入文件:dec2017
2:文件'dec2017'已构建或处理,但文件本身不存在
如果我loadd('commencement')
,一切正常,但我不是正在创建的不存在的文件。这会在以后的脚本中产生问题,因为commencement
嵌入在文件路径中。
答案 0 :(得分:1)
据我了解德雷克,你主要处理的是功能。 一个解决方法是这个
foo <- function() "dec2017"
plan <- drake_plan(commencement = foo())
make(plan)
#> target commencement
答案 1 :(得分:0)
这是一个已知问题,将在较新版本的Drake中得到解决。
要使代码正常工作,您需要做的就是运行:
pkgconfig::set_config("drake::strings_in_dots" = "literals")
在drake_plan
之前。这告诉德雷克将字符串视为字符串,而不是文件名。或者,您可以将参数strings_as_dots = "literals"
直接传递给drake_plan
。
在此模式下,需要使用file_in
和file_out
手动指定文件输入和输出。