我对此有些困惑。我有一个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的计算机上,加载我的软件包时出现错误”。如果您的包裹在包装箱中,这也是如此!