我正在尝试使用roxygen2为引用类对象制作文档,但是当我运行R CMD检查时,我一直收到此警告:
S4 class codoc mismatches from documentation object 'myRefClass-class':
Slots for class 'myRefClass'
Code: .xData
Inherited: .xData
Docs: field1 field2
这是与上述警告相关的ref class和roxygen2块:
#' @title myRefClass class
#' @description Description of myRefClass
#' @import methods
#' @exportClass myRefClass
#' @slot field1 A character slot
#' @slot field2 A numeric slot
myRefClass<-setRefClass(Class="myRefClass",
fields=list(field1="character",
field2="numeric"))
以下是生成的R文档:
myRefClass-class {testPackaging} R文档myRefClass类
描述
myRefClass的描述
槽
FIELD1 字符槽
FIELD2 数字插槽
至于我能找到的文档,codoc正在测试我的代码和文档之间的一致性。据我所知,所有的插槽名称都是一样的;也许我错过了什么。 不确定文档是否应该自动将其标记为引用类,或者我是否应该以某种方式表明它? 我发现R文档表明插槽“.xData用于启用异常类型的继承”,但我不确定为什么它适用于我在这里做的或者我应该用它做什么。
我已经尝试了一些roxygen标签的排列并且保持接近这里发现的结构似乎给了我最好的结果/来自R CMD检查的最少警告:Roxygen2 - how to @export reference class generator? 我一直在网上寻找roxygen2应该如何与参考类一起使用的例子;也许我正在寻找错误的地方 - 我运气不好。
我正在使用roxygen2 v 3.1.0 / RStudio版本0.98.501 / R版本3.0.3 / OSX 10.9.2 (注意:尝试升级到roxygen2 v 4.0并且它在引用类上完全被阻塞,以至于根本没有生成任何文档)
如果有人知道使用roxygen2和引用类的CRAN包,那么我可能会看到它是如何正确完成的,或者如果有人知道我做错了什么,那么帮助将非常感激。我是R的包装建筑的新人。
答案 0 :(得分:6)
我通常使用@section Fields
,所以在这种情况下:
#' @title myRefClass class
#' @description Description of myRefClass
#' @import methods
#' @exportClass myRefClass
#' @section Fields:
#' \describe{
#' \item{\code{field1}:}{Object of class \code{"character"}, field1 description here}
#' \item{\code{field2}:}{Object of class \code{"numeric"}, field2 description here}
#' }
myRefClass<-setRefClass(Class="myRefClass",
fields=list(field1="character",
field2="numeric"))
更新:使用roxygen2 4.0.1
#' A Reference Class to represent test1.
#' @name test1
#' @import methods
#' @exportClass myRefClass
#' @field field1 A character vector
#' @field field2 A numeric vector
myRefClass<-setRefClass(Class="myRefClass",
fields=list(field1="character",
field2="numeric"))
生成
A Reference Class to represent test1.
Description
A Reference Class to represent test1.
Fields
field1
A character vector
field2
A numeric vector