如何正确使用R包中其他包的功能
问题描述:
我对此有点困惑。我有一个R程序包,它具有一个小函数(不是程序包的市长部分),其中调用了psych
程序包的principal
函数。我如何在DESCRIPTION和NAMESPACE中正确指定它?如何正确使用R包中其他包的功能
DESCRIPTION中的设置Depends: psych
确保每次加载我的包时都会加载心理包。这是有效的,但对于我的软件包的这么一小部分来说似乎是多余的。
设置Suggests: psych
和进入功能的require("psych")
就是我现在做的,但是这不一样,如果没有安装psych
工作,似乎是这样做的错误的方式(写R附加说,建议主要是指举些例子)。
我想我需要导入该函数。我试着在DESCRIPTION中设置Imports: psych
,在NAMESPACE中设置为importFrom(psych,"principal")
。这可以工作,但是在没有安装心灵软件的计算机上,加载我的软件包时会出现错误。
答
您需要回答的基本问题是:“您是否希望该功能可供包所有用户使用,而无需进一步努力?”。如果是,则使用导入+相应的名称空间声明,如果不是,则使用建议并打印信息错误消息,如果require("psych")
返回FALSE
。
我不明白你的进口相关投诉:“但是在没有安装心灵的计算机上,它会在加载我的软件包时出错。这也是如果你的软件包在取决于!
不要打扰,'psych'是一个很好的包,我相信你会发现它在某些时候很有用(它有很多帮助函数),尽管你只需要一个函数。祝PCA/FA好运! =) – aL3xa 2011-03-10 14:40:37