我正在使用
然而,我还没有找到一种加载
roxygen2
开发一个包,其中包括一些基于lattice
的可视化。虽然这些可视化很好看,但是并不是使用该包所必需的,因此将lattice
列在DESCRIPTION
文件的Suggests:
部分而非Depends:
部分。然而,我还没有找到一种加载
lattice
以响应用户请求的方法,这种方法可以通过roxygenize()
和R CMD check
的检查。下面两种方式都会使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
和其他一些好用但非必要的软件包列为依赖项,但现在当我准备发布软件包时,我希望以正确的方式解决这个问题。
lattice
仍然位于DESCRIPTION
文件的suggests
部分,但在NAMESPACE
文件中被列为import(lattice)
。因此,我得出结论,问题出在roxygenize()
而不是R CMD check
。 - Backlin