我正在构建一个扩展了另一个包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
注释的相关部分以及所讨论的泛型的定义:
#' @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
注释中,具有相同的结果。
[crmPack
出现在我的DESCRIPTION文件的Imports:
部分中,而我的NAMSEPACE文件包括import(crmPack)
。
我应该如何记录我的通用名称,以便其示例正确运行? [从控制台运行时会这样做。]
根据@Waldi的问题,我尝试了:
#' @examples
#' if (requireNamespace("crmPack")) {
#' inc <- crmPack::IncrementsRelative(intervals=c(0, 20), increments=c(1, 0.33))
#' summariseIncrementsRule(inc)
#' }
并且此命令没有错误。我还能够从#' @import crmPack
注释中删除roxygen
,但是删除#' @importFrom methods .valueClassTest
导致devtools::check()
发出警告。