gpt4 book ai didi

r - 使用 Roxygen2 记录 R6 类方法

转载 作者:行者123 更新时间:2023-12-05 02:16:32 26 4
gpt4 key购买 nike

我正在编写一个包含 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com