Как правильно документировать S4 «[» методы с использованием roxygen? - PullRequest
0 голосов
/ 23 марта 2020

Хотя этот вопрос уже задавался ( Как правильно документировать методы S4 с использованием roxygen2 ), что было в 2011 году, и все изменилось. После долгих поисков и экспериментов я думаю, что работает следующее:




#' Define Class A
#'
#' @slot slt numeric.
#'
#' @export
#'
setClass("A",
         slots = c(slt="numeric")
         )



#' Subset method for A class
#'
#' @param A character: signature supported
#' @param integer character: signature supported
#' @param missing character: signature supported
#' @param x Object of Account class
#' @param i integer index
#' @param j integer index
#' @param ... other arguments passed to subset
#' @param drop not used
#' @rdname A-class
#'
#'
#' @export
setMethod("[", c("A", "integer", "missing", "ANY"),
          function(x, i, j, ..., drop=TRUE)
          {
              methods::initialize(x, slt=x@slt[i])
          })

Пакет с этой документацией дает четкую проверку CMD. Я использую RStudio версии 1.2.5033, R версии 3.6.3 (2020-02-29) и Roxygen2 версии 7.1.0.

Я обнаружил, что команда Rstudio Insert Roxygen Skeleton более или менее бесполезна для документирования метод: он абсолютно ничего не вставил.

Мой вопрос таков: хотя это работает, я не уверен, соответствует ли это текущему передовому опыту. Можно ли это улучшить?

...