想要可视化包依赖关系的人有很多资源,但我特别感兴趣的是可视化包中的函数以及它们之间的依赖关系.有一些像
miniCRAN这样的工具用于绘制包依赖关系,但是包中是否有可用于图函数依赖的东西?
例如,假设我的包中只有两个函数.
func1 <- function(n) return(LETTERS[n]) func2 <- function(n) return(func1(n%%26+1))
然后我只想要一个带有两个标记节点的图形和连接它们的边缘,描绘func2对func1的依赖性.
我认为有很多软件包具有非常强大的功能依赖性,这样的实用程序可以帮助理解/组织/重构/等.
谢谢.
我认为一个更好的选择(建立在mvbutil包的foodweb函数之上)是由Github上的datastorm-open构建的DependenciesGraph包,它们是更通用的
visNetwork包.
> DependenciesGraph:用于包和函数之间的依赖关系可视化的R包
在我的例子中,我一直在想象我自己的包维护和开发,并对结果非常满意.
library(DependenciesGraph) library(QualtricsTools) # A package I'm developing deps <- funDependencies("package:QualtricsTools","generate_split_coded_comments") plot(deps)
输出是一个Web服务器(在RStudio的查看器中或在单独的浏览器中查看),允许您通过下拉或单击它们来选择特定功能,放大和缩小,拖动它们等等.对我来说,这比使用base R绘制foodweb函数的输出要好得多,因为通常很难让文本看起来很好地显示在每个节点的顶部,所有的边缘在foodweb图中都有不同的颜色,并且在我看来,基本R绘图函数正在做很多工作以确保绘图的布局可读或清晰.
与mvbutil的foodweb比较:
library(mvbutils) library(QualtricsTools) deps <- foodweb(where="package:QualtricsTools",prune='make_split_coded_comments') plot(deps)