如何查找哪些代码行导致程序包依赖

时间:2019-04-04 17:10:11

标签: r dependencies package

我构建了一个包含许多长R脚本的软件包。 I can find the dependencies of the package,但了解哪些文件和哪些行正在使用特定软件包的功能将非常有帮助。

例如我的软件包依赖于lubridate,但是最好知道我在脚本alpha.R和beta.R

的x,y,z行中使用了lubridate函数

有人知道是否有任何软件包可以这样做吗?

1 个答案:

答案 0 :(得分:1)

CodeDepends包可能对您有用:

来自CRAN Index page

  

CodeDepends:用于可重复研究和代码的R代码分析   理解力

     

用于分析R表达式或代码块并确定   它们之间的依赖关系。它着重于R脚本,但可以   用于功能主体。有很多设施,包括   总结或获得高级代码视图的能力,确定   变量之间的依赖性,代码改进建议。

来自Vignette

  

CodeDepends软件包提供了一个灵活的框架,用于静态分析R代码(即,不对其进行评估)。它还包含更高级别的功能,这些功能包括:检测R代码块或表达式之间的依赖关系,“摇树”(将脚本修剪为仅评估给定表达式所需的表达式),绘制变量使用时间表等。

另外,请注意makeCallGraph函数可以“为函数或整个程序包创建调用图”