我对此有些困惑。我有一个R包,它的功能很小(不是包的市长部分),其中principal包的psych函数被调用。如何在DESCRIPTION和NAMESPACE中正确指定?

在DESCRIPTION中设置Depends: psych可确保每次加载软件包时都加载psych软件包。这行得通,但是对于我的软件包的一小部分似乎是多余的。

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

我想我需要导入功能。我尝试在DESCRIPTION中设置Imports: psych和在NAMESPACE中设置importFrom(psych,"principal")。此方法有效,但在未安装psych的计算机上,加载我的软件包时出现错误。

最佳答案

您需要回答的基本问题是:“您是否希望该功能可供包的所有用户使用而无需付出更多努力?”。如果是,则使用imports +适当的 namespace 声明,如果否,则使用建议,如果require("psych")返回FALSE,则输出提示性错误消息。

我不了解您与进口相关的投诉:“但是在未安装psych的计算机上,加载我的软件包时出现错误”。如果您的包裹在包装箱中,这也是如此!

09-09 18:36