- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 roxygen2
开发一个包,其中包括许多 lattice
基于可视化。这些很好,但不是使用包所必需的,因此 lattice
列于 Suggests:
DESCRIPTION
的部分文件而不是 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.
lattice
以及一些其他不错但非重要的包作为依赖项,但是现在当我要发布包时,我想以正确的方式解决它。
最佳答案
使用的建议(在 2013 年我第一次写这个答案时)是到 require
在条件语句中。 2016年现在the official recommendation是使用 ::
然后让 R 打印 there is no package called X
错误:
##' Visualization
##'
##' @description Visualize the data. \pkg{\link{lattice}} package required.
##' @param x Data.
##' @param y More data.
##' @seealso \pkg{\link{lattice}}
##' @export
vizz <- function(x, y){
lattice::xyplot(y ~ x)
}
Suggests: lattice
在您的
DESCRIPTION
(在
import
中没有
NAMESPACE
)。
requireNamespace(lattice)
在条件语句中,例如:
vizz <- function(x, y){
if (! requireNamespace("lattice", quietly = TRUE)) {
stop("Please install lattice: install.packages('lattice')")
lattice::xyplot(y ~ x)
}
关于Roxygen 和建议的软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19446429/
我正在使用 roxygen2 开发一个包,其中包括许多 lattice基于可视化。这些很好,但不是使用包所必需的,因此 lattice列于 Suggests: DESCRIPTION的部分文件而不是
我在对包裹进行 roxygenizing 时遇到问题。几个月前它最后一次工作,从那以后我没有检查过,所以不确定我添加的代码片段是否破坏了它,如果我的系统配置发生了变化,或者roxygen2是否发生了变
具体例子: 在我的包中,我的一个函数使用 grep形成 base包裹。 我应该明确导入 grep还是只会引入无用的依赖项?我的意思是,每个人都已经拥有 base包,对吗? 为了说明: #' Group
方式Roxygen似乎有效的是第一行是 \title ,其他所有内容都在 \details 中,然后任何 @foo 指令处理这些事物。但 R 文档比这更丰富。我可以在 .Rd 文件中包含 "\sect
我刚刚开始使用 roxygen 包,到目前为止我对结果非常满意。不过我想知道,有没有办法指定 roxygen 应忽略某些用户无法访问的函数? 具体来说,我不想弹出 .Rd 文件,因为我在包中使用 .o
我将 R 与 Roxygen 一起使用。那里有 @param block ,就像 Doxygen 和 JavaDoc 中一样。由于 R 是动态类型的(甚至是鸭子类型的),因此没有像 C++ 或 Jav
考虑一个基础包 XYZ ,别人写的,有一个函数ABC ,我想扩展ABC的功能通过以下方法在我的新(非 XYZ)包中。 ABC <- function(...){ ##INSERT EXTRA WO
到目前为止,我正在学习 Roxygen 并取得了良好的进展。我已经能够记录我正在处理的大部分包,但是我有一些我似乎无法正确处理的地方。请考虑以下最小 R: ##' Test Roxygen Comme
作为一个简单而具体的例子: #' Inverse Value Matching #' #' Complement of \code{%in%}. Returns the elements of \co
我关注了 Vignette发现pseudoprime-package.Rd中的License、Author等信息没有写入DESCRIPTION?我做错什么了吗? 最佳答案 不,您写的是描述,而不是 R
我有 R6Class 的文档: #' Root component that don't have parent, #' #' It should not be used directly, only
通过多行 @param,我可以使用输入参数轻松完成此操作通过这样做: #' @param var1 This is for x #' @param var2 This is for y #' @par
我有一个简单的 shell 脚本来构建我的 Roxygen 文档,构建包,检查,然后在我的机器上安装新构建的包。这很简单: #! /bin/sh R CMD roxygen -d myPackage
我的函数的一个参数的默认值包含一个“%”。这似乎是 roxygen 的一个问题,它会在尝试构建 latex 文档时产生很多警告并且 R CMD 检查失败。 我怎样才能使这个功能(及其文档)工作?使用
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 4年前关闭。 Improve this
是否可以在 roxygen 进程中将 .R 文件包含在我的包的数据目录中? 我已将几个 .R 文件放入数据目录中。当它们使用 data() 获取数据时,它们会读取原始数据文件并执行一些转换。 最佳答案
是否可以在 roxygen 生成的文档中包含图像?我有许多函数本质上是 ggplot() 的包装器,我想通过显示输出示例来记录它们。 最佳答案 根据 R 2.14 公告的变更列表: Rd markup
以下 MWE 无法编译(通过 devtools::document()): #' MWE #' #' @examples #' format('{}') # Works #' format('{')
每次我尝试roxygenize 一个包我都会得到这个错误: Error: is.call(call) is not TRUE traceback() 的结果: 11: stop(sprintf(nge
我正在使用 roxygen 创建我自己的包。我有一个导致问题的函数: ##' extract.sig.metadata ##' @param foo bar ##' @author me ##' @e
我是一名优秀的程序员,十分优秀!