我对此感到有点困惑。我有一个R包,它有一个小函数(不是包的mayor部分),其中principal
包的psych
函数被调用。如何在DESCRIPTION和NAMESPACE中正确指定它?
在DESCRIPTION中设置Depends: psych
可确保每次加载包时都加载psych包。这有效,但对于我的包的这么小部分来说似乎是多余的。
设置Suggests: psych
并在函数中输入require("psych")
就是我现在所做的,但是如果没有安装psych
则这不起作用,并且似乎是错误的做法这(写R扩展说建议主要是为了举例)。
我想我需要导入这个功能。我尝试在DESCRIPTION中设置Imports: psych
,在NAMESPACE中设置importFrom(psych,"principal")
。这可行,但在没有安装精神的计算机上,它在加载我的包时会出错。
答案 0 :(得分:20)
您需要回答的基本问题是:“您是否希望该功能无需进一步努力即可供所有用户使用?”。如果是,则使用imports +相应的名称空间声明,如果不是,则使用建议并在require("psych")
返回FALSE
时打印信息性错误消息。
我不明白您的导入相关投诉:“但是在没有安装精神的计算机上,它会在加载我的包时出错”。如果你的包是依赖的,那也是如此!