将tidyverse包包含在另一个包中

5

是:

devtools::use_package("tidyverse")

在R中,将tidyverse包集合导入另一个包的规范方式是什么?还是逐个导入包更好?我希望使用除readr之外所有当前tidyverse包的功能。

2
由于每个函数都作为其特定包的一部分被调用,因此我会选择单独要求每个包。例如,我认为 tidyverse::tibble() 不会做任何事情,因此在您的包中放置一个 tibble() 调用将没有正确的库链接。 - rosscova
2
use_package 只是设置您的 DESCRIPTION 文件,但可以用于在DependsImportsSuggests中设置依赖项。在大多数情况下,您只需要将使包运行所需的任何内容放入 Imports 中,但如果您需要将 tidyverse 加载到用户环境中,则将其放入 Depends 中。这将使它成为一个非常庞大的软件包。阅读 更多阅读 - alistaire
2个回答

5

tidyverse包的作者明确要求不要导入此包,因为在大多数情况下它会创建不必要的重依赖性,这意味着您的包下载时间更长,用户需要更高的磁盘存储要求,并且您需要承担更高的维护负担(因为您必须关注所有这些包的破坏性变化)。另外,请问一下自己是否真的需要导入所有这些tidyverse包,或者您是否可以使用基本的R语言或编写帮助函数来实现所需功能。Jim Hester为包开发人员提供了很好的演示,介绍如何考虑依赖性。

同样重要的是,这使得tidyverse作者更难以在CRAN上更新,因为它需要通过所有反向依赖项检查。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接