在R包中导入一个函数(不含importFrom)

ZRo*_*oss 5 r r-package

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

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

这篇文章中对这个问题进行了很好的讨论,Brian Diggs的回答非常有帮助.但他最后说:"对于你的例子,你可能最好将memisc :: describe的代码复制到你的软件包中,尽管这种方法有其自身的问题和注意事项"所以我对问题的存在有一些不确定性.从归因的角度来看它是否合适.

jor*_*ran 3

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

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