Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将drake动态子目标与实际数据帧/源目标关联?_R_Drake R Package - Fatal编程技术网

如何将drake动态子目标与实际数据帧/源目标关联?

如何将drake动态子目标与实际数据帧/源目标关联?,r,drake-r-package,R,Drake R Package,drake手册给出了以下使用动态子目标的示例: 库(gapminder) 图书馆(德雷克) 计划▶ 目标子集 #> ▶ 动态行 #>>子目标行_9939cae3 #>>子目标行_e8047114 #>>子目标行_2ef3db10 #>>子目标行\u f9171bbe #>>子目标行_7d6002e9 #>>子目标行_509468b3 #> ■ 定稿行 由(v0.3.0)于2020-09-02创建 现在让我们假设,由于某种原因,一个或多个子目标失败,例如,row_9939cae3。我想调查一下

drake
手册给出了以下使用动态子目标的示例:

库(gapminder)
图书馆(德雷克)
计划▶ 目标子集
#> ▶ 动态行
#>>子目标行_9939cae3
#>>子目标行_e8047114
#>>子目标行_2ef3db10
#>>子目标行\u f9171bbe
#>>子目标行_7d6002e9
#>>子目标行_509468b3
#> ■ 定稿行
由(v0.3.0)于2020-09-02创建

现在让我们假设,由于某种原因,一个或多个子目标失败,例如,
row_9939cae3
。我想调查一下原因,要做到这一点,我需要知道输入目标函数的确切参数。我如何获得该数据的副本

提前谢谢你的帮助


马克

不幸的是,
德雷克
并没有让这变得容易,但这是可能的。我建议为失败的子目标插入交互式调试器。例如,假设
行f9171bbe
失败。在一个自定义函数中,您可以使用
cancel\u if()
id\u chr()
直接跳转到
行\u f9171bbe
,然后立即运行
browser()

库(gapminder)
图书馆(德雷克)
F▶ 动态行
#>>子目标行_9939cae3
#> ■ 取消第9939cae3行
#>>子目标行_e8047114
#> ■ 取消行_e8047114
#>>子目标行_2ef3db10
#> ■ 取消第2ef3db10行
#>>子目标行\u f9171bbe
#>调用自:f(子集)
浏览[1]>打印(x)
#>#A tible:1 x 6
#>国家大陆年寿命Exp pop gdpPercap
#>                           
#>1阿富汗亚洲1967 34.0 11537966 836。

谢谢,这是一个有用的技巧。不幸的是,在HPC集群上工作时,它不能很好地工作,因为您无法访问交互式调试。另一种方法是找出data.frame/tibble/list元素与散列之间的对应关系。是否有执行此转换的公共函数,例如
foo(readd(subset))
diagnose(row)$subtargets
按顺序列出
行的子目标。一旦您验证了
row_f9171bbe
是第四个子目标,您就可以使用
vctrs::vec_slice(readd(subset),4)
获取
subset
的相应切片。{targets}是否使这变得更容易?出于调试目的,可以: