摘要
R作为一款统计分析和统计制图的优秀工具,在统计分析和人工智能领域非常受欢迎,并且拥有丰富的开源生态系统。相关R语言程序包(R包)的数量也一直在增长。R包开发模式的特征,即新开发R包往往通过引入已有的R包来实现功能,导致R包之间的依赖关系非常复杂,甚至出现依赖冲突。而引起此问题的因素除了与依赖关系相关外,另一个就是R包的更新。因此,为了了解现有R包的发展现状,需要对R包的依赖和更新情况进行深入实证研究。但已有关于R的实证研究关注的主要是整个R生态系统,而没有专门针对R包的依赖和更新的具体分析。为了弥补这一空缺,基于CRAN与GitHub上的数据对常用R包的依赖关系、包的更新情况、存在的依赖冲突隐患以及R包的依赖更新情况四方面展开了详细的分析。发现R包之间的依赖关系复杂、每个包依赖的包的数量普遍较多但依赖集中于一部分R包,虽然常用R包的更新频率较快,但其中依然存在不少依赖间的冲突(不一致),同时对这些R包的依赖冲突进行了检测和分类。实证研究的结果能够让R开发者和使用者更加了解R包的发展现状,同时提供了一些可以帮助R包的开发者在开发过程中避免隐患的建议,以及研究者可以在R包依赖和更新相关问题上进一步探究的方向。
- 单位