gpt4 book ai didi

r - 可视化R函数依赖关系

转载 作者:行者123 更新时间:2023-12-03 14:45:16 25 4
gpt4 key购买 nike

对于想可视化软件包依赖关系的人来说,有很多资源,但是我特别感兴趣的是可视化软件包中的函数及其相互依赖。有像miniCRAN这样的工具可以绘制程序包依赖关系,但是在程序包中是否可以绘制函数依赖关系?

例如,假设我的包中只有两个函数。

func1 <- function(n) return(LETTERS[n])
func2 <- function(n) return(func1(n%%26+1))


然后,我只想要一个带有两个标记节点和连接它们的边的图,描述 func2func1的依赖性。

我认为有很多软件包确实具有毛茸茸的功能依赖性,这样的实用程序可以帮助理解/组织/重构/等等。

谢谢。

最佳答案

我认为一个更好的选择(建立在mvbutil包的foodweb函数之上)是DependenciesGraph包,它是由datastorm-open在其更通用的visNetwork包之上在Github上构建的。


DependenciesGraph:R包,用于在包和功能之间进行依赖关系可视化


在我的示例中,我一直在可视化自己的软件包以进行维护和开发,并对结果感到非常满意。

library(DependenciesGraph)
library(QualtricsTools) # A package I'm developing
deps <- funDependencies("package:QualtricsTools", "generate_split_coded_comments")
plot(deps)




输出是一个Web服务器(可以在RStudio的查看器中或在单独的浏览器中查看),该服务器使您可以通过下拉菜单或单击它们来选择特定功能,放大和缩小,在周围拖动等等。对我来说,这比使用基数R绘制foodweb函数的输出要好得多,因为通常很难使文本看起来更好地显示在每个节点的顶​​部,在foodweb图中,所有边缘的颜色都有明显的不同,在我看来,基本R绘图功能并不能很好地确保绘图的布局可读或清晰。

与mvbutil的foodweb的比较:

library(mvbutils)
library(QualtricsTools)
deps <- foodweb(where="package:QualtricsTools", prune='make_split_coded_comments')
plot(deps)




(很抱歉,名称之间存在差异,它们实际上是相同的功能,我只是碰巧在制作这两个图之间重命名了该功能)。

关于r - 可视化R函数依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44143110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com