Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在开发R包时避免导入包_R_Build_Package - Fatal编程技术网

在开发R包时避免导入包

在开发R包时避免导入包,r,build,package,R,Build,Package,假设我正在开发一个R包,其中我只使用包“p”中的一个函数(比如,函数“F”)。 我将使用函数“F”的输出在我的函数中执行其他操作 为此,我将在描述的“导入:”部分包含包“p” 因为“p”是要导入的包,当有人安装我的包时,她也会安装包“p”,因为我在包中的某个函数中使用了它的一个函数,函数“F” 我的问题如下: 如何避免强制用户安装整个软件包“P” 也就是说,我可以让用户只安装包“P”中的函数“F”吗 我可以复制并粘贴“F”函数的源代码到我的包中,这样用户就不必安装整个包“P”了吗 问题3的答案是

假设我正在开发一个R包,其中我只使用包“p”中的一个函数(比如,函数“F”)。 我将使用函数“F”的输出在我的函数中执行其他操作

为此,我将在描述的“导入:”部分包含包“p”

因为“p”是要导入的包,当有人安装我的包时,她也会安装包“p”,因为我在包中的某个函数中使用了它的一个函数,函数“F”

我的问题如下:

  • 如何避免强制用户安装整个软件包“P”
  • 也就是说,我可以让用户只安装包“P”中的函数“F”吗
  • 我可以复制并粘贴“F”函数的源代码到我的包中,这样用户就不必安装整个包“P”了吗
  • 问题3的答案是否取决于“P”在哪个许可证包下

  • 以下是你问题的答案

  • 如果软件包不可用,则使您的功能不可用或功能失调。您的函数必须检查包P是否可用,如果不可用,则抛出错误或警告并返回。这意味着用户可以决定安装包P以获得包的功能

  • 不可能

  • 也许,见第4条。事实上,这要视情况而定

  • 如果限制(即减少的功能)对您和您的软件包合适,那么答案1将是我给出的简单建议

    三号干线是另一个可行的方案。这取决于几件事

    首先是许可证

    除此之外,没有什么能真正阻止你

    但是,我会花一些时间来改善这种情况

    p包设计是否糟糕?它肿了吗?我会联系作者并解释问题。人们聚在一起交谈,出奇地容易解决各种问题。他或她可能是一个很好的人,欢迎对他或她的工作感兴趣。大多数人都是这样

    对社区代码库进行碎片化(就像从其他软件包中撕下东西时所做的那样),从整体上看可能不太好