如何将字符串分配给drake中的对象?

时间:2018-03-17 17:45:35

标签: r

我试图通过为一个对象分配一个角色来“参数化”一个drake脚本,但是我收到了这个警告:

plan <- drake_plan(commencement = "dec2017")
make(plan)
Warning messages:
  

1:缺少输入文件:dec2017
  2:文件'dec2017'已构建或处理,但文件本身不存在

如果我loadd('commencement'),一切正常,但我不是正在创建的不存在的文件。这会在以后的脚本中产生问题,因为commencement嵌入在文件路径中。

2 个答案:

答案 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_infile_out手动指定文件输入和输出。