我对此有点困惑。我有一个 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/