不需要名称空间依赖项

我试图建立一个 R 包,所以阅读 CRAN 手册。 我可以指出,使用导入来加载名称空间中的函数将是在 Description 文件中使用的最佳选择。 在添加到描述文件之后,我还将其添加到命名空间文件中。 我使用所需的函数将 import From 添加到名称空间文件中。

现在当我运行 RCMD 检查我的软件包时, 我得到一个错误为

不需要名称空间依赖项: “ ggplot2”

进一步信息: 即使我将包添加到描述文件中的 Dependes,它们也不会被加载。

请帮帮我。

请在下面找到我的描述文件

Package: bigpackage
Type: Package
Title: Some title
Version: 1.0
Date: 2012-10-25
Author: Mayank Bansal
Maintainer: somename
Imports : R(>= 2.15.1), SweaveListingUtils( >=0.5.5),xtable(>=1.7-0),
brew(>=1.0-6), knitr(>=0.8), RHive(>= 0.0-6), ggplot2(>=0.9.2)
, brew, knitr
SystemRequirements : LaTeX(texi2dvi) must be present in the system to
create PDF reports
Description: Some Description
License: file LICENSE
LazyLoad: yes
ByteCompile: true
OS_type : unix
23999 次浏览

如果您在您的 NAMESPACE 文件中使用 importimportFrom,那么您应该在 DESCRIPTION 文件的 Imports 部分中为该包包含一个条目(除非有需要使用 Dependes 的原因,在这种情况下,该包应该在 Dependes 而不是 Imports 中包含一个条目)

这里是 编写 R 扩展的相关章节

“ Imports”字段列出了其名称空间是从(如 NAMESPACE 文件中指定的)导入的、但不需要附加的包。由“ : :”和“ : : :”运算符访问的名称空间必须在这里列出,或者在“建议”或“增强”中列出(见下文)。理想情况下,这个字段将包括所有使用的标准包,并且重要的是包括使用 S4的包(因为它们的类定义可以更改,并且 DESCRIPTION 文件用于决定在发生这种情况时重新安装哪个包)。在“依赖”字段中声明的包不应该也在“导入”字段中。


我用一个函数 f做了一个包。我做了一个名称空间的文件与相同的 importFrom行,你说你有在你的。

名称空间文件

export("f")
importFrom("ggplot2","ggplot","geom_histogram")

此时,如果像预期的那样运行 R CMD check,就会得到一个错误:

不需要名称空间依赖项: ‘ ggplot2’

但是,如果我将 Imports: ggplot2添加到 DESCRIPTION 中,使得 DESCRIPTION 文件如下所示,那么它将毫无问题地传递 R CMD check

描述文件

Package: anRpackage
Type: Package
Title: What the package does (short line)
Version: 1.0
Date: 2012-11-07
Author: Me
Maintainer: Who to complain to <yourfault@somewhere.net>
Description: More about what it does (maybe more than one line)
License: GPL
Imports: ggplot2

发生这种情况的一个简单原因是,如果在任何/所有函数中声明 @import时不小心使用了逗号

比如这个

#'
#' @import rvest, dplyr, stringr, jsonlite
#'
#' @export
#'

应该改成这样

#'
#' @import rvest dplyr stringr jsonlite
#'
#' @export
#'

这是一个常见错误,因为包 DESCRIPTION文件中以逗号分隔