在 R 包中导入一个函数(没有 importFrom)

Import one function in R package (without importFrom)

我正在编写一个 R 包,我想使用另一个包中的一个函数 (plotKML)。这个外部包有很多依赖项,我不希望我的用户需要下载等。如果我在 NAMESPACE 文件中使用 importFrom(plotKML, readGPX),它将把所有 plotKML 加载到命名空间并下载所有我不想要的依赖项。

所以问题是:复制我需要的一个函数的代码是否合适(确保包含那个函数中的所有依赖项)?如果是这样,什么适合 attribution/documentation -- 我是否复制原始文档?

this post 中对此问题进行了很好的讨论,Brian Diggs 的回答非常有帮助。但他以 "For your example, you may be better off copying the code for memisc::describe into your package, although that approach has its own problems and caveats" 结尾,所以我不确定问题是什么,以及从归因角度来看是否合适。

有关适当归因的问题可能最好通过直接联系软件包作者来解决。如上面的评论所述,该软件包似乎使用 GPL-3,这意味着您可以在您的软件包中包含该功能,但您的软件包也必须获得 GPL-3 许可。 (一如既往,这里可能没有人是律师,所以你要检查...)

仅复制所需功能的主要缺点是您需要负责维护它。这可能还意味着以一种使其与 plotKML 的原始版本保持同步的方式对其进行维护。根据包、周围的代码以及更新的频率,这可能相当简单,也可能很糟糕。