我得到了一大块格式很差的单片 R 代码,里面有很多函数,我想弄清楚什么函数调用什么函数。
我以为我可以使用 roxygen 的 @callGraph 东西,但是 a) 代码需要放在一个包中,这对这段代码来说会让人头疼,并且 b) 当我在一个简单的设备上运行它时它甚至似乎都不起作用我的包。我看到一位 Roxygen 作者的帖子说,由于 Rgraphviz 依赖关系,调用图生成被禁用,但代码在那里。反正。
有谁有更好的方法来快速计算出 foo 调用 bar、baz 和 qux,而 qux 调用 quux?
编辑:基于 R 分析系统的解决方案很棒,假设您可以实际运行代码......文件中的一半内容没有运行,我不知道它做了什么......静态分析太多了希望,我猜。
编辑 2:Roxygen 的调用图的东西似乎做了一个静态分析,基于函数表达式的递归下降和检查 is.callable。能够在任何功能上运行它会很可爱......我明天可能会玩这个......