使用roxygen2 R CMD检查codoc错配警告记录参考类

时间:2014-05-17 04:53:15

标签: r documentation roxygen2 reference-class roxygen

我正在尝试使用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的包装建筑的新人。

1 个答案:

答案 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