Как расширить документацию по методу S3 пакета? - PullRequest
0 голосов
/ 17 апреля 2020

В моем пакете я расширяю метод S3 as_bar из пакета pcp_pack применительно к объекту foo из моего пакета foo_pack.

Документация ROxygen2 - это следующее:

#' Implementation of as_bar for foo objects
#'
#' @param x same as foo_pack::as_bar
#' @param y new argument
#' @param z also new argument
#' @param ... unused, for S3 compatibility
#'
#' @name as_bar
#' @rdname as_bar
#' @export
#'
#' @examples
as_bar.foo = function(x, y, z, ...){
    #...
}

Однако эта функция довольно независима и может работать без оригинального пакета. Но чтобы функция работала без запуска library(pcp_pack), мне пришлось реэкспортировать метод generi c (я скопировал синтаксис реэкспорта из dplyr magrittr reexport ), поэтому R знать, что он должен вызывать метод:

#' @importFrom pcp_pack as_bar
#' @export
pcp_pack::as_bar

Это прекрасно работает, а as_bar работает как с foo объектами, так и с другими объектами.

Однако документация не совершенный, и выполнение library(foo_pack);?as_bar дает два результата:

  • человек pcp_pack::as_bar, без упоминания as_bar.foo в использовании
  • человек foo_pack::as_bar, с as_bar.foo в использовании, но больше ничего

Запуск library(pcp_pack) заранее ничего не меняет.

Как мне получить унифицированную версию ?as_bar со всеми использования из всех загруженных пакетов, в зависимости от того, какие они есть?

РЕДАКТИРОВАТЬ

...