r - 如何定义引用另一个包中的 S4 类的包示例
问题描述
我正在构建一个扩展另一个包的功能的包,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
出现在Imports:
我的说明文件部分中,我的 NAMSEPACE 文件包括import(crmPack)
.
我应该如何记录我的泛型以使其示例正确运行?[从控制台运行时会发生什么。]
解决方案
Following on from @Waldi's question, I tried:
#' @examples
#' if (requireNamespace("crmPack")) {
#' inc <- crmPack::IncrementsRelative(intervals=c(0, 20), increments=c(1, 0.33))
#' summariseIncrementsRule(inc)
#' }
And this ran without error. I was also able to remove #' @import crmPack
from the roxygen
comments, but removing #' @importFrom methods .valueClassTest
caused devtools::check()
to issue a warning.
推荐阅读
- java - 使用对象继承进行 JAXB XML 解析
- asp.net-mvc - HttpClient 连接
- javascript - 我们可以重置 window.performance javascript 对象吗?
- vbscript - 运行 VB 脚本时出错 - WshShell.Exec:系统找不到指定的文件
- c# - 通过 VSTO / C# 在 PowerPoint 中显示字数
- mongoose - 试图用 Mongoose 理解 userSchema 密码加密
- java - 如何计算Java学生的平均百分比?
- c++ - 向量输入后命令立即终止
- wix - 添加/删除程序中的 Wix 引导程序多个实例
- c - 如何检查一个单词是否是介词(使用 C 中的正则表达式)