【发布时间】:2020-09-27 03:53:15
【问题描述】:
我正在构建一个扩展另一个包crmPack 的功能的包。 crmPack 使用 S4 类。我正在使用roxygen 来记录我的新包。在我的新包上运行 devtools::check() 时出现错误:
> checking examples ... ERROR
Running examples in ‘crmreporter-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: summariseIncrementsRule
> ### Title: Create a Tibble Describing an Increments Rule
> ### Aliases: summariseIncrementsRule
>
> ### ** Examples
>
> if (requireNamespace("crmPack")) {
+ inc <- IncrementsRelative(intervals=c(0, 20), increments=c(1, 0.33))
+ summariseIncrementsRule("inc")
+ }
Error in IncrementsRelative(intervals = c(0, 20), increments = c(1, 0.33)) :
could not find function "IncrementsRelative"
Execution halted
以下是roxygen cmets 的相关部分以及相关泛型的定义:
#' @examples
#' if (requireNamespace("crmPack")) {
#' inc <- IncrementsRelative(intervals=c(0, 20), increments=c(1, 0.33))
#' summariseIncrementsRule(inc)
#' }
#' @import crmPack
#' @importFrom methods .valueClassTest
#' @export
setGeneric("summariseIncrementsRule", valueClass = "tbl", function(object) {
standardGeneric("summariseIncrementsRule")
})
我也试过了
#' @importFrom crmPack IncrementsRelative
在roxygen cmets 中为泛型,结果相同。
crmPack 出现在我的DESCRIPTION 文件的Imports: 部分,我的NAMSEPACE 文件包括import(crmPack)。
我应该如何记录我的泛型以使其示例正确运行? [从控制台运行时会发生什么。]
【问题讨论】:
-
您是否尝试使用
crmPack::IncremensRelative来确定在crmPack 中确实找不到该功能? -
是的,我做到了。在命令行。有效。但是您的评论让我想到了在
roxygen评论中使用x <- crmPack::IncrementsRelative(...),这很有效。谢谢。
标签: r package s4 roxygen2 roxygen