如何解决函数中包的依赖关系?我将require(package)
添加到函数中,但我想知道是否有一种完成此任务的首选方法。
答案 0 :(得分:4)
根据函数的帮助,require is designed for use inside other functions; it returns FALSE and gives a warning (rather than an error as library() does by default) if the package does not exist
以后......
The source code for a package that requires one or more other packages should have a call to require, preferably near the beginning of the source, and of course before any code that uses functions, classes or methods from the other package
答案 1 :(得分:4)
使用程序包的Depends:
文件的DESCRIPTION
字段。
这是你更好地使用软件包而不仅仅是使用source()
的文件进行处理的另一个原因。
编辑:Imports:
中还有DESCRIPTION
。但一般的观点是R 具有依赖机制,如果你使用它会更好。
答案 2 :(得分:0)
标准格式似乎是
if(!require(the_package))
{
#Maybe try an alternative or do some cleanup here
stop("You must install the package 'the_package'.")
}
如果您的软件包广泛使用另一个软件包,那么您应该在初始化软件包时加载该软件包,即在中将其添加到软件包的Depends字段中。 。如果软件包仅由一个或两个函数使用,那么这些代码块将在这些函数的开头处进行。.First.lib
函数