R:如何让我的包使用另一个包?

时间:2016-04-26 20:15:42

标签: r package

这是一个非常简单的问题。 我正在扩展某人的包裹。它目前使用包A,B,它们列在描述文件中。

如果我需要软件包C中的函数 - 将软件包添加到依赖项中 - 我是否只需在DESCRIPTION文件中添加软件包,这就是所需要的一切?进入哪个部分 - 取决于还是进口?还有更多其他步骤吗?一旦我的代码需要使用包C函数,我是否需要使用前缀C :: functionInC()?

1 个答案:

答案 0 :(得分:1)

简答: 将C添加到Imports:使用C函数时,请使用双分号前缀。

更长的背景:

以下链接提供以下建议 http://r-pkgs.had.co.nz/namespace.html#imports

R功能

如果您只使用其他软件包中的一些函数,我的建议是在DESCRIPTION文件的Imports:字段中记下软件包名称,并使用::显式调用函数,例如pkg :: fun ()。

如果您反复使用函数,可以通过@importFrom pgk fun导入函数来避免::。这也具有很小的性能优势,因为::在功能评估时间上增加了大约5μs。

或者,如果您反复使用其他包中的许多函数,则可以使用@import包导入所有这些函数。这是最不推荐的解决方案,因为它使您的代码更难以阅读(您无法分辨函数的来源),如果您@import许多软件包,则会增加函数名冲突的可能性。