r - 使用 Roxygen2 记录 R6 类方法

标签 r documentation roxygen2 roxygen r6

我正在编写一个包含 R6 类的包,该类具有多种方法。我希望能够为类和方法生成文档。对于下面的示例,我希望能够使用类的 ?Person 和方法的 ?set_hair 访问文档。这是我的示例类:

#' This is my Person class
#' @title Person Class
#' @docType class
#' @description Person class description
#' @field name Name of the person
#' @field hair Hair colour
#'
#' @section Methods:
#' \describe{
#' \item{set_hair Set the hair color}
#' }
#' 
#' @examples
#' Person$new(name="Bill", hair="Blond")
#' @export
Person <- R6::R6Class("Person",
  public = list(
    name = NULL,
    hair = NULL,
    initialize = function(name = NA, hair = NA) {
      self$name <- name
      self$hair <- hair
  },    

    # '@name set_hair
    # '@param val: hair colour
    set_hair = function(val) {
      self$hair <- val
  },
  )
)

运行 roxygenise(),方法体上方的注释根本不会呈现,所以我在 @section Methods 中指定的唯一信息在文档中。

由于我有超过 50 个类方法,如果我可以单独使用 ?methodname 访问方法文档,那就更好了。我发现了一些关于此的帖子( Documenting R6 classes and methods within R package in RStudiohttps://github.com/klutometis/roxygen/issues/306 ),但在我看来,R6 类不支持此功能。

单独记录我的类方法的最佳方式是什么?

最佳答案

这是一篇旧帖子,您可能很久以前就解决了您的问题。但是这里没有添加它,所以如果有人需要解决方案,它将是:

#' This is my Person class
#' @description Person class description
#' @field name Name of the person
#' @field hair Hair colour
#' 
#' @examples
#' Person$new(name="Bill", hair="Blond")
#' @export
Person <- R6::R6Class("Person",
  public = list(
    name = NULL,
    hair = NULL,

    #' @description
    #' Create a person
    #' @param name Name of the person
    #' @param hair Hair colour
    initialize = function(name = NA, hair = NA) {
      self$name <- name
      self$hair <- hair
  },    

    #' @description Set hair
    #' @param val Hair colour
    set_hair = function(val) {
      self$hair <- val
  },
  )
)

关于r - 使用 Roxygen2 记录 R6 类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49694187/

相关文章:

r - 左连接两个数据框,没有错误代码但不起作用

r - 如何通过ggplot2绘制shapefile?

r - R中点要素到最近多边形的距离

注释 C 代码、头文件和源文件

c# - 实现应用程序 HTML 帮助系统

r - 数据未从 R 中的命名空间导出

r - 使用两个分组名称创建一个 'combined' 分组变量

.net - C# 代码的自定义文档

r - 使用 roxygen2 模板时的 CRAN 注意事项

r - 使用 roxygen2 自动记录 S4 泛型的所有方法