供参考的 roxygen2 文档字符串 类 覆盖基础 class

roxygen2 docstrings for Reference Classes overriding base class

我有一个抽象基础 class,看起来像这样:

#' An Abstract Base Class 
Filter <- setRefClass(
  Class = "Filter",
  methods = list(
    train = function(x) {
      "Override this method to train any associated parameters for the filter on the supplied data"
  print("no learning to be done")
})
)

以及扩展此 class 的以下 class:

#' Filter class that leverages the prcomp R method. 
PcaFilter <- setRefClass(
  "PcaFilter",
  contains="Filter",
  fields=list(
    d="numeric",
    model="ANY"
    ),
  methods=list(
    train=function(x) {
      "train PCA model, store result to model attribute of obj"
      model <<- prcomp(x)
    })
)

我运行

之后
roxygen2::roxygenize()

然后我得到两个 man 文件,但是在第二个 man 文件中 class 被覆盖的 class 的文档字符串没有通过 - 我得到了基础 class 的文档字符串].我做错了什么还是 roxygen2 的错误?

请问还有什么更好的方法吗?我希望能够使用多行文档字符串。

在 roxygen github 仓库中搜索了问题。发现已经有一个与此相关的活跃问题:

https://github.com/klutometis/roxygen/issues/433

总而言之:从 v5.0 开始,roxygen 中参考 类 的支持和文档不是很好。建议的方法还是使用docstrings,不可能覆盖parents的docstrings