【发布时间】:2013-10-27 02:33:16
【问题描述】:
我正在使用roxygen2 开发一个包,其中包括许多基于lattice 的可视化。这些很好,但对于使用包来说不是必需的,因此lattice 列在DESCRIPTION 文件的Suggests: 部分而不是Depends: 部分。
但是,我还没有弄清楚如何根据用户的请求以同时传递roxygenize() 和R CMD check 的方式加载lattice。以下两种方式都使lattice 看起来像一个未声明的依赖项,并将返回以下错误。
##' @import lattice
{}
##' Visualization
##'
##' @param x Data.
##' @param y More data.
##' @export
vizz <- function(x, y){
xyplot(y ~ x)
}
和
##' Visualization
##'
##' @param x Data.
##' @param y More data.
##' @export
vizz <- function(x, y){
library(lattice)
xyplot(y ~ x)
}
两者都给出相同的错误
$ R CMD check dummy.roxygen
* using log directory ‘/###/dummy.roxygen.Rcheck’
* using R version 3.0.2 (2013-09-25)
* using platform: x86_64-pc-linux-gnu (64-bit)
* using session charset: UTF-8
* checking for file ‘dummy.roxygen/DESCRIPTION’ ... OK
* checking extension type ... Package
* this is package ‘dummy’ version ‘1.0-0’
* package encoding: UTF-8
* checking package namespace information ... OK
* checking package dependencies ... ERROR
Namespace dependencies not required: ‘lattice’
See the information on DESCRIPTION files in the chapter ‘Creating R
packages’ of the ‘Writing R Extensions’ manual.
由于对“roxygen”一词与“suggests”、“depends”和“imports”的搜索返回了大量不相关的点击,我一直在寻找这个问题的答案,但没有成功。同时,我刚刚将lattice 和一些其他不错但非重要的包列为依赖项,但现在当我即将发布包时,我想以正确的方式解决它。
【问题讨论】:
-
您是否尝试在您的函数 roxygen 部分添加
#' @importFrom lattice xyplot? -
我现在做了,但它给了我同样的错误。
-
但是 roxygen 是否在
DESCRIPTION的Imports部分中添加了晶格? -
在包的 roxygenization 中,
lattice保留在DESCRIPTION文件的Suggests部分中,但在NAMESPACE文件中列为import(lattice)。所以问题出在roxygenize()而不是R CMD check我得出结论。 -
尝试手动将晶格从
Suggests移动到Imports,也许?