我的包需要ggplot2包,但是我无法修复运行R CMD检查时得到的以下注释.
no visible global function definition for qplot
'library' or 'require' call not declared from: ggplot2
Run Code Online (Sandbox Code Playgroud)
我也有一个.onLoad函数,
.onLoad <- function(libname, pkgname){
.libPaths("~/RLibrary")
require(ggplot2)
}
Run Code Online (Sandbox Code Playgroud)
有关如何解决错误的任何建议?我应该在哪里放置onLoad功能?
谢谢
圣
我不认为你应该这样做.最好是让你的包依赖于ggplot2或导入ggplot2的命名空间.做在通过将说明文件Depends: ggplot2和所述第二通过添加Imports: ggplot2在说明和import(ggplot2)在NAMESPACE(或更精确地用importfrom(ggplot2,"somefunction").
或者你可以Suggests: ggplot2在DESCRIPTION中设置并放入require("ggplot2")任何使用它的函数,但我不喜欢这个.
也可以看看:
http://cran.r-project.org/doc/manuals/R-exts.html#The-DESCRIPTION-file
编辑:要更清楚一点.随着Depends包被装入您的每一次包加载和它的功能都供用户使用.
有了Imports您可以使用软件包的功能,但如果没有加载你的包没有装载包(功能不可用的用户).
随着Suggests未加载包时加载你的包,你不能使用其功能.你需要声明一个require地方使用它们.基本上这可以用来表明你在某个地方使用这个包(在一个例子中).
这一切都取决于您希望用户如何使用所依赖的包以及它对您的包的重要性.例如,如果你的包是ggplot2 Depends最好的前端,如果它做了一些分析并且有一个绘图功能Imports是最好的.
| 归档时间: |
|
| 查看次数: |
2687 次 |
| 最近记录: |