r - 如何在 R 包中正确使用其他包中的函数

标签 r namespaces package

我对此有点困惑。我有一个 R 包,它有一个小功能(不是包的主要部分),其中 principal psych的功能包被调用。我如何在描述和命名空间中正确指定它?

设置 Depends: psych在描述中确保每次加载我的包时都会加载 psych 包。这有效,但对于我的包裹中这么小的一部分来说似乎是多余的。

设置 Suggests: psych并输入 require("psych")在函数中是我现在所做的,但是如果 psych 这不起作用未安装,并且似乎是错误的执行方式(编写 R 扩展表示建议主要用于示例)。

我想我需要导入该功能。我试过设置 Imports: psych在描述和 importFrom(psych,"principal")在命名空间中。这有效,但在没有安装 psych 的计算机上加载我的包时会出错。

最佳答案

您需要回答的基本问题是:“您是否希望包的所有用户都可以使用该功能而无需进一步努力?”。如果是,则使用导入 + 适当的命名空间声明,如果不是,则使用建议并在 require("psych") 时打印信息性错误消息。返回 FALSE .

我不明白您的与导入相关的提示:“但是在没有安装 psych 的计算机上,它在加载我的包时出错”。如果您的包在depends中也是如此!

关于r - 如何在 R 包中正确使用其他包中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5260079/

相关文章:

namespaces - Rake 命名空间别名

hadoop - hdfs(namenode)中使用的命名空间和元数据的含义是什么

go - SOO Go 分包命名

interface - 使用 Dart/Flutter 导入 Umbrella

r - 使用拐点包寻找 COVID-19 感染的转折点(拐点)

r - 根据唯一值汇总行,时间列除外

c++ - "class template has already been declared as a non-class template"

r - 如何查看R中的一个包有多少个函数?例如 "MASS"包有多少个函数?

javascript - 使用 rhandsontable 进行数字和条件格式设置

r - 用 R 进行预测